Direkt auf Window zeichnen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Direkt auf Window zeichnen?

Beitrag von PureBasic4.0 »

Hi Leute,

ich habe vor, eine Art VisualDesigner zu schreiben. Mein Problem ist dabei, dass während die Maus bei der Erstellung des Gadgets gedrückt ist, eine Art Box angezeigt wird (nur hohl). Siehe hier:

Bild

Wie kann man sowas direkt auf ein Window zeichnen? Das Ganze soll auch noch mit mehreren Gadgets auf einem Window funktionieren, deshalb fällt WindowedScreen bestimmt schon mal weg.

Außerdem gibt es in jedem VisualDesigner noch eine Funktion, um Gadgets zu resizen. Siehe hier:

Bild

Ich hoffe, ihr habt ein paar Ideen ;-)

PureBasic4.0
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
pogi02
Beiträge: 131
Registriert: 30.10.2004 00:52
Wohnort: Österreich
Kontaktdaten:

Beitrag von pogi02 »

Also so ein Projekt ist schon ein bisschen zu gross für nen Anfänger programmier erstmal was kleines und setzt dich richtig mit der Sprache auseinander.

Du hast viel zu grosse Ziele

Mach erstmal kleine sinnlose programme um die Sprache erstmal richtig zu verstehen!
MfG pogi02

- www.apware.net
Aktuelles Projekt:
-
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Die Worte von pogi02 waren selbst für meinen Geschmack etwas harsch. Ist aber nen bissi was dran. Ich meine die Zeichenroutine alleine ginge ja noch aber gleich einen kompletten VisualDesigner ist wohl recht anspruchsvoll. Mal abgesehen davon das dies spo überflüssig wie ein weiterer Media Player ist.

Nichts des so trotz gebe ich dir nen Tipp. Du kannst nämlich mittels des XOR Mischung Verfahren leicht einen schwarzen Auswahlrahmen mit der Maus ziehen und an der vorangegangen Position einen zweiten Rahmen malen. Wenn du mit XOR arbeitest wird der alte Rahmen automatisch gelöscht. Was die Dragging-Punkte angeht, du kannst die Koordinaten an denen du sie zeichnest mit PtInRect_() verwenden um die Mouse Klicks zu registrieren.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

@pogi02: Ich habe schon genug geproggt, um diesem Ziel würdig zu sein ;-). Finde ich zumindest. Hab's halt mal ins Anfänger Forum gestellt, weil ich das einfach noch von den Nooby Zeiten gewöhnt bin :lol:

@Fluid Byte: Ich habe extra
PureBasic4.0 hat geschrieben:eine Art VisualDesigner
geschrieben, weil es kein echter VisualDesigner werden soll. War halt so ein gutes Beispiel.

Zum Thema: Wie kann ich abfragen, ob die Maus gedrückt wird, gedrückt ist, oder gerade losgelassen wird? Brauche ich zum Rahmen zeichnen.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

PureBasic4.0 hat geschrieben:Zum Thema: Wie kann ich abfragen, ob die Maus gedrückt wird, gedrückt ist, oder gerade losgelassen wird? Brauche ich zum Rahmen zeichnen.
Deine Fragen entspechen aber er den Level eines Anfängers. Sorry.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
Dark Skillu
Beiträge: 103
Registriert: 18.03.2007 15:03

Beitrag von Dark Skillu »

Aus der PB-Hilfe:

Code: Alles auswählen

MouseButton(Mausknopf)
Gibt 0 zurück, wenn der angegebene 'Mausknopf' nicht gedrückt wird, andernfalls ist der Knopf gedrückt. Eine beliebige Anzahl an Knöpfen kann zur gleichen Zeit gedrückt sein. ExamineMouse() sollte vor dieser Funktion aufgerufen werden, um den aktuellen Status der Mausknöpfe zu ermitteln.

'Mausknopf' kann eine der folgenden Konstanten sein:
#PB_MouseButton_Left : Überprüft, ob die linke Maustaste gedrückt wird
#PB_MouseButton_Right : Überprüft, ob die rechte Maustaste gedrückt wird
#PB_MouseButton_Middle: Überprüft, ob die mittlere Maustaste gedrückt wird

Vielleicht hilft dir das was ...

MfG
Ich benutze PureBasic 4.0.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

Danke, dass ihr alle an meinen Fähigkeiten als Progger zweifelt. :roll:

OK. Dr. Shrek :twisted: . OK, Mr. Oberschlaumeier. Dann erkläre mir mal den Syntax von Mouse_Event_() ! Bin sicher, das bekomme ich auch noch hin, aber eine Aufgabe brauchst du ja auch, sonst bist du unterfordert :evil:

@Dark Skillu: Ich möchte keinen Screen aufmachen. Deswegen funkioniert MouseButton nicht.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

PureBasic4.0 hat geschrieben:Dann erkläre mir mal den Syntax von Mouse_Event_() !
http://msdn2.microsoft.com/en-us/library/ms646260.aspx

Da stehts. :wink:

Aber wozu benötigst du diesen Befehl?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic4.0 hat geschrieben:OK, Mr. Oberschlaumeier.
als Bittsteller solltest Du Dich mit Deinen Äußerungen ein wenig bedeckter halten.
a²+b²=mc²
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Eine Art VisualDesigner? Was denn nun genau?
Zum Thema: Wie kann ich abfragen, ob die Maus gedrückt wird, gedrückt ist, oder gerade losgelassen wird? Brauche ich zum Rahmen zeichnen.
Du willst also "eine Art" VisualDesigner schreiben weisst aber nicht wie man den Status der Mousebuttons abfragt?

Viel Glück! Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten