Bei eigener GUI Fenster verschieben...

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

maximilian

Betreff: Bei eigener GUI Fenster verschieben...

BeitragSo, März 21, 2004 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, März 21, 2004 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Meine Lösung:
Code: [AUSKLAPPEN]
; Draggen
   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
Das ist jetzt (fast) direkt rauskopiert. Ich hoffe, es hilft dir.

maximilian

BeitragSo, März 21, 2004 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Confused
Sonst werde ich diese wahrscheinlich nehmen.

Grüße,
LordEverything

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group