Problem mit SendMessage
-
Hi,
Habe das Problem, ich möchte das ich mit der ENTER taste dann ein TAB ausgelöst wird.
Habe schon was probiert geht aber nicht ...
void __fastcall TMainWin::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == 13) { SendMessage(Handle,WM_KEYUP,VK_TAB,0); } } //---------------------------------------------------------------------------
Ich hoffe das mir einer helfen kann
-
Klappt denn
if (Key == VK_RETURN) { Key = VK_TAB; }
nicht?
Edit: Obiges sollte für ein Multiline-Edit ein Tab-Zeichen erzeugen.
Du möchtest aber wahrscheinlich zum nächsten Control springen, dann s. FAQ: Mit Return statt Tab zum nächsten Feld wechseln
-
Nee geht nicht aber das ...
if (Key == 13) { Edit3->SetFocus(); }
Hätte ich auch selbst drauf kommen können
trozdem Danke
-
eine weitere Möglichkeit wäre:
if(Key == VK_RETURN)
Perform(WM_NEXTDLGCTL,1,0);Der zweite Parameter steuert die Richtung:
Perform(WM_NEXTDLGCTL,1,0); => nächstes Dialogelement => wie Tab
Perform(WM_NEXTDLGCTL,0,0); => vorheriges Dialogelement => wie Shift + Tab
-
Danke geht auch
Nur bei mir ist das anders herrum
Perform(WM_NEXTDLGCTL,0,0); => nächstes Dialogelement => wie Tab
Perform(WM_NEXTDLGCTL,1,0); => vorheriges Dialogelement => wie Shift + TabAber Trozdem Danke