WaitEvent in Blitz3D

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

JPD

Betreff: WaitEvent in Blitz3D

BeitragSo, Aug 08, 2010 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

wenn ich in Blitz3D das Fenster verschiebe hält mein Programm an. Gibt es eine Möglichkeit (so wie in B+ mit WaitEvent(0) ) dies zu verhindern?

Grüße Jan

PacMani

BeitragSo, Aug 08, 2010 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Schließe mich der Antwortsuche an! Smile

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Aug 08, 2010 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann sich seine eigene Bewegungsroutine schreiben. Das hat jedoch keinen Sinn, wenn man weiterhin eine Titelleiste haben möchte. Bei meinem Dreamplayer auch gemacht. Bei diesem wurde der Fensterrahmen entfernt, dann eine Bewegungssteuerung über die rechte Maustaste realisiert.

Blitz3D-Anwendung:

Benötigt wird: Zitat:
.lib "user32.dll"

dp_GetCursorPos% (lpPoint*) : "GetCursorPos"
dp_GetWindowRect% (hwnd%, lpRect*) : "GetWindowRect"
dp_GetSystemMetrics% (nIndex%) : "GetSystemMetrics"
dp_MoveWindow% (hwnd%, x%, y%, nWidth%, nHeight%, bRepaint%) : "MoveWindow"
dp_SetWindowLong% (hwnd%, nIndex%, dwNewLong%) : "SetWindowLongA"


Prüfen, ob die Maus sich über dem Blitz3D-Fenster befindet (MOW = True/False): Code: [AUSKLAPPEN]
   ;MOW-API-Funktionsaufrufe
   dp_GetCursorPos MOWMain
   dp_GetWindowRect AppHWND,MOWRect
   
   ;MOW-Variablen-Zuweisung
   MOWMXA=MOWMX
   MOWMYA=MOWMY
   MOWMX=PeekInt(MOWMain,00)
   MOWMY=PeekInt(MOWMain,04)
   MOWX1=PeekInt(MOWRect,00)
   MOWY1=PeekInt(MOWRect,04)
   MOWX2=PeekInt(MOWRect,08)-MOWX1
   MOWY2=PeekInt(MOWRect,12)-MOWY1
   
   ;MOW-Abfrage+Anwendung
   MOW=RectsOverlap(MOWMX,MOWMY,1,1,MOWX1,MOWY1,MOWX2,MOWY2)


Fensterposition ändern: Code: [AUSKLAPPEN]
      ;Dreamplayer-Position
      dp_MoveWindow(AppHWND,WindowX,WindowY,WindowW,WindowH,1)


Restliche Variablen EINMALAUSFÜHRUNGEN: Code: [AUSKLAPPEN]
   ;Desktop-Sachen-Speichern
   SystemW=dp_GetSystemMetrics(0)
   SystemH=dp_GetSystemMetrics(1)
   WindowW=GraphicsWidth()
   WindowH=GraphicsHeight()
   
   ;Nullpunktverschiebung
   WindowX=WindowX-WindowW/2
   WindowY=WindowY-WindowH/2
   
   ;Fensterrahmen-Unsichtbar-Machen
   dp_SetWindowLong(AppHWND,-16,$10020000)
   
   ;Fenster-Positionieren
   dp_MoveWindow(AppHWND,WindowX,WindowY,WindowW,WindowH,True)
   
   Global AppHWND%=SystemProperty("APPHWND") ;Dreamplayer-Handle
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group