Seite 1 von 1
Win aktiv oder nicht...?
Verfasst: 13.04.2006 15:19
von Kaeru Gaman
ich hab da n kleines problem.
ich will testen, ob ein fester den fokus hat, damit ich ein game, das darin abläuft,
anhalten kann, wenn der benutzer ein anderes fenster benutzt...
leider hat ein klassischer flag-schalter
Code: Alles auswählen
WinEvent = WindowEvent()
If WinEvent = #PB_EventType_Focus
Focus = 1
EndIf
If WinEvent = #PB_EventType_LostFocus
Focus = 0
EndIf
nicht den gewünschten effekt...
bitte um background in sachen Fenster, kenn mich da garnich aus...
wo liegt mein denkfehler?
Verfasst: 13.04.2006 15:57
von ABBKlaus
mit PB4B10 ganz einfach :
GetActiveWindow() Gibt die PB Nummer des Fensters zurück, welches aktuell den Fokus für Tastatureingaben hat.
MfG Klaus
Verfasst: 13.04.2006 16:02
von Kaeru Gaman
> mit PB4B10 ganz einfach
thnx, aber ich benutz noch 3.94...
ich bin inzwischen so weit, dass entgegen der aussage in der help
#PB_EventType_Focus und
#PB_EventType_LostFocus wohl doch nur für Gadgets gelten...
aber mit API komm ich auch nich ganz rum:
Code: Alles auswählen
If GetFocus_()<>WindowID(0)
Focus = 0
Else
Focus = 1
EndIf
liefert auch nicht das gewünschte ergebnis...
> welches aktuell den Fokus für Tastatureingaben hat.
schätze mal, dass "tastatur" hierbei redundant ist?
mir geht es allgemein um den fokus, denke, das ist damit doch gemeint...
Verfasst: 13.04.2006 16:16
von Green Snake
sowas?
Code: Alles auswählen
OpenWindow(0,0,0,100,100,"Hello",#PB_Window_SystemMenu)
Repeat
If GetForegroundWindow_() = WindowID(0)
Debug "Hat den Focus"
Else
Debug "Hat den Focus nicht."
EndIf
Delay(100)
Until WindowEvent() = #PB_Event_CloseWindow
edit:
Beispiel ist zwar für PB4, sollte aber keine Probleme machen, den Befehl OpenWindow() zu portieren

Verfasst: 13.04.2006 16:25
von Kaeru Gaman
yo.. thnx für den Tip mit GetForgroundWindow().. muss ich auch mal antesten...
hab grad noch nen anderen käfer bemerkt.. muss erstmal den finden und sehen, obs die ganze zeit an dem lag...
@all
thnx erstmal für die hilfe..
Verfasst: 13.04.2006 17:23
von Kaeru Gaman
ok leutz... mal absolut shame on me...
Code: Alles auswählen
If GetFocus_()<>WindowID(0)
Focus = 0
Else
Focus = 1
EndIf
funktioniert, der käfer steckte woanders...
danke für die anderen hinweise...
