Member
Beiträge: 17
| Liebe Access Spezialisten,
ich habe folgendes Problem.
Beim Start meiner Access Anwendung wird das Formular frmStart geöffnet. Dort wird der Befehl
15 DoCmd.RunCommand acCmdAppMinimize 'Access Fenster minimieren. ausgeführt. Nach der initialisierung, die in frmStart geschieht, wird das Formular frmLogin geöffnet.
Mein Problem. Starte ich mein Access Programm aus dem Dateimanager Total Commander oder dem Startmenü, so startet mein Programm, minimiert das Access Fenster, das geöffnete Formular "frmLogin" hat den fokus, der Cursor blinkt im Eingabefeld [txtPasswd] und ich kann mein Passwort eingeben. Alles gut so.
Starte ich jedoch meine Access Programm über die Verknüpfung auf dem Desktop so startet mein Programm, minimiert das Access Fenster, das geöffnete Formular "frmLogin" erscheint und der Cursor blinkt im Eingabefeld [txtPasswd]. In diesem Fall, obwohl der Cursor im Eingabefeld blinkt, kann ich keine Eingabe machen, da der Fokus nicht auf dem Formular frmLogin steht sondern irgendwo anders.
Meine Lösungsversuche: 1 Me!txtPasswd.Setfocus
2 Me.Setfocus Me!txtPasswd.Setfocus
3. Private Declare Function SetFocusAPI Lib "user32" Alias "SetFocus" ( ByVal hwnd As Long) As Long Private Declare Function GetFocus Lib "user32" Alias "GetFocus" () As Long
hWnd = TxtHWnd(txtPasswd) SetFocusAPI txtPasswd.hWnd
Public Function TxtHWnd(Ctrll As Control) As Long On Error Resume Next Ctrl.SetFocus ' Fokus auf das Control setzen If Err Then ' Fehler? Dann 0 zurückgeben TxtHWnd= 0 Else TxtHWnd= GetFocus() ' Windowhandle ermitteln End If End Function
Ich bin kein Api Spezialist insofern war dies nur ein Versuch. Mein Problem bei dieser Api ist die Integration des Fenster Handle in die Funktion SetFocusAPI txtPasswd.hWnd. Da diese Api nicht funktioniert kann ich auch nicht sagen, ob es die Lösung meines Problems ist. Kann mir von euch jemand helfen den Fokus auf das Formular frmLogin zu bekommen. LG @Julia
|