ButtonGadget auch mit Taste benutzen?

Anfängerfragen zum Programmieren mit PureBasic.
Oli
Beiträge: 16
Registriert: 14.02.2006 13:14

ButtonGadget auch mit Taste benutzen?

Beitrag von Oli »

Hallo Leute!

Stehe etwas auf dem Schlauch.
Ich möchte einen Knopf in einem Fenster auch mit Return statt nur mit Mausklick anwählen können, krieg es aber irgendwie nicht hin.

Im konkreten Fall soll sich das Fenster sowohl mit Mausklick als auch mit Return schließen lassen können.

Kann mir jemand helfen?

Viele Grüße
Oli
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

moin, moin...
Ich hab an sowas auch schon gebastelt, aber mit mäßigem Erfolg.
Variante 1:
AddKeyboardShortcut()
Hatte allerdings Nachteile, wenn man Tasten(-kombinationen), die von PB vorbelegt sind, nehmen will.
Variante 2:
Init-/ExamineKeyboard
Komm ich momentan unter 400B3 nicht weiter, weil PB da irritierenderweise ein OpenScreen oder so erwartet :(
hth...
scholly
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Wenn du die Vollversion hast, dann versuchs mit Win-API. Keine Ansgt, der Befehl ist ganz einfach. Du prüfst ja irgendwie, ob ein Knopf gedrückt wird. Damit Ich jetzt nicht so viel schreiben muss, tu ich so, als wäre die Variable knopf_gedrueckt gleich 1, wenn dein bestimmter Knopf gedrückt wurde:

Code: Alles auswählen

If knopf_gedrueckt = 1 Or GetAsyncKeyState(#VK_RETURN)
   ; dein Code...
EndIf
Nachteil: Wenn dein Fenster nicht aktiv ist, also nicht den Fokus hat, wird der Knopf trotdzdem ausgelöst. Möchtest du das nicht, dann benutz diesen Code:

Code: Alles auswählen

If knopf_gedrueckt = 1 Or (GetAsyncKeyState(#VK_RETURN) And GetForegroundWindow_() = hWnd)
Wobei hWnd deine Fenster ID ist (WindowID()).
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten