herausfinden ob steuerelement aktiv ist.
-
Hallo,
ich habe einen Dialog als ressource eingebunden.
dieser Dialog hat eine Edit control.
Wie kann ich im quellcode feststellen ob diese grade aktiv ist bzw ob sich der cursor grade darin befindet? Ich habs schon versucht mit GetDlgitem also handle holen und dann vergleichen mit dem Handle von GetFocus aber das hat nicht funktioniert.
-
static HWND hDlg = FindWindow(0, "name"); static HWND hwndEdit1 = GetDlgItem(hDlg, IDC_EDIT1); while(1) { if(GetAsyncKeyState(VK_RETURN) && hwndEdit1 == GetFocus()) SendMessage(hDlg, WM_COMMAND, IDC_BUTTON1, 0); }also so in der art hab ich es versucht
-
vielleicht mit:
http://msdn.microsoft.com/de-de/library/bb761709(en-us,VS.85).aspx
könnte so funktioniere.. bin mir aber nicht 100% sicher..
-
Wie soll dieser Code funktionieren? Hier wird keine Messageloop abgearbeitet!
Was meinst Du mit aktiv?
GetFOcus liefert Dir das Fenster, dass den Eingabefokus hat. Innerhalb des Threads gibt es dennoch ein aktives Fenster, dass ist das Toplevel Fenster, dass im Vordergrund liegt (GetActiveWindow).Achtung: Sowohl aktives Fenster als auch Fokus sind threadlokale Daten.