Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249170 (10606)
  Suchen
 Zurück zur Übersicht
 AutorThema: Tastenkombinationen abfragen
Stefan Stroehlein
Datum:16.02.02 14:12 Antwortenals Email verschicken (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



Uwe Beisler
Datum: 18.02.02 09:28 Antwortenals Email verschicken (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.



 Zurück zur Übersicht