Autor | Thema: Tastenkombinationen abfragen | | Datum:16.02.02 14:12 
(eMailTo@StefanStroehlein.de) | |
Wie kann man Tastenkombinationen wie zB <AltGr><X> abfragen?
Mit WaitInput oder WaitScan geht es nicht, da sie immer nur eine Tasten zurück geben.
Zusätzlich habe ich folgendes Problem:
Wie kann ich bei dieser Schleife die eine Dialogbox abfragt verhindert, dass beim durchschalten mit <TAB> bereits eine Aktion auslöst wird.
ende% = 0
While ende% = 0
WaitInput
If %Key = 2
ende% = 2
ElseIf %Key = 27
ende% = 2
ElseIf %GetFocus = hok%
ende% = 1
ElseIf %GetFocus = habbruch%
ende% = 2
EndIf
Wend
|
| | Datum: 18.02.02 09:28 
(uwe.beisler@t-online.de) | |
Hallo,
hier habe ich ein Teil-Beispiel wie man auch mit GetMessage arbeiten kann :
declare Hit#
struct Hit=X&,Y&,Flags&,Item&
dim Hit#,Hit
declare NMHDR#
struct NMHDR = hwndFrom&,idFrom&,code&
dim NMHDR#,NMHDR
...
GetMessage
Message%=%Message '***
LParam&=&LParam
Hit#.x&=%MOUSEX
Hit#.y&=%MOUSEY
NotifyCode%=%NotifyCode
' NM_OUTOFMEMORY = -1
' NM_CLICK = -2
' NM_DBLCLK = -3
' NM_RETURN = -4
' NM_RCLICK = -5
' NM_RDBLCLK = -6
' NM_SETFOCUS = -7
' NM_KILLFOCUS = -8
' NM_STARTWAIT = -9
' NM_ENDWAIT = -10
' NM_BTNCLK = -10
if equ(%GetFocus,TreeView&)
Hit_item& = sendmessage(TreeView&,4369,0,Hit#)'--TVM_HITTEST
if equ(Message%,78)
NMHDR#=LParam&
...
EndIF
case %umessage=16:break '------Fenster schließen
IF MenuItem(101)
TreeExpand(TreeView&,Root&[0])
TreeExpand(TreeView&,Root&[2])
ElseIF MenuItem(102)
TreeColapse(TreeView&,Root&[0])
TreeColapse(TreeView&,Root&[2])
ElseIF MenuItem(103)
_ende% = 1
EndIF
EndWhile
Es ist zwar um einiges Aufwendiger so zu arbeiten, es bringt aber eben auch viel mehr Möglichkeiten. Der Code passt nicht ganz zu Deinem Problem sondern zeigt nur das Prinzip.
Gruß
Uwe
P.S.
*** hier werden die Werte übrigens gesichert, da die sich ja während Deiner Auswertung und Verarbeitung ändern können.
|
|
|