Bei eigener GUI Fenster verschieben...
Übersicht BlitzBasic BlitzPlus
maximilianBetreff: Bei eigener GUI Fenster verschieben... |
So, März 21, 2004 14:01 Antworten mit Zitat |
|
---|---|---|
Moin,
ich bin gerad am coden einer GUI. Da ich mich aber noch nie mit sowas befasst habe (sonst code ich nur Spiele) hab ich hier ein dummes Problem. Ich weis net so recht wie ich Fenster verschieben soll. Das Code-Funzelchen unten schafft das zwar schon, aber wenn ich die Maus zu sschnell bewege, lässt der Zeiger das Fenster irgendwo liegen. Ausserdem wird die Leiste immer zentriert (Window\WinX1 / 2), da ich keine bessere Lösung kenne. Wäre wirklich nett, wenn mir jemand einen besseren Weg zeigen könnte. Code: [AUSKLAPPEN] MouseKey = MouseDown(1) If MouseX() > Window\WinX And MouseX() < Window\WinX + Window\WinX1 Then If MouseY() > Window\WinY And MouseY() < Window\WinY + 15 And MouseKey = True Then Window\WinX = MouseX() - Window\WinX1 / 2 Window\WinY = MouseY() - 7 End If End If Grüße, LordChaos |
||
Edlothiol |
So, März 21, 2004 14:08 Antworten mit Zitat |
|
---|---|---|
Meine Lösung:
Code: [AUSKLAPPEN] ; Draggen
Das ist jetzt (fast) direkt rauskopiert. Ich hoffe, es hilft dir.
if g\disabled = false then if rectsoverlap(mousex(),mousey(),1,1,g\x,g\y,g\w,TITELLEISTENHOEHE) and mousedown(1) then if (g\Dragging = false) then g\Dragging = true g\dragX = mousex()-(g\x+x) g\dragY = mousey()-(g\y+y) end if end if if mousedown(1) and (g\Dragging = true) then g\x = mousex() - g\dragX g\y = mousey() - g\dragY end if if not mousedown(1) then g\Dragging = false end if |
||
maximilian |
So, März 21, 2004 14:21 Antworten mit Zitat |
|
---|---|---|
Sehr schön, doch noch besser wäre eine Funktion ohne Rectsoverlap, denn ich programmiere lieber ohne BlitzBasic-spezifische Befehle um meine Programme irgerndwann mal auf für ein anderes Basic portieren zu können. Das mache ich zwar sicherlich nie, aber ich möchte mir diese Möglichkeit vorbehalten.
Sonst werde ich diese wahrscheinlich nehmen. Grüße, LordEverything |
||
Übersicht BlitzBasic BlitzPlus
Powered by phpBB © 2001 - 2006, phpBB Group