Übersicht
0003 GetFocus (aktives Objekt-Handle der aktiven Form ermitteln)
![]() |
Passend zum Tipp Nummer 2 hier die API Deklaration zum ermitteln des aktiven Objekts (Controls) innerhalb der aktiven Form. Zurückgegeben wird das Handle des gefundenen Controls, mit dem Sie dann (sofern <> 0) weiter arbeiten können: Public Declare Function GetFocus Lib "user32" As Long |
0002 SetFocus (Fokus setzen ohne Laufzeitfehler 5)
![]() |
Wenn Sie im Quellcode einem Objekt den Focus zuweisen wollen, so geht dies in der Regel mit "Object.SetFocus". Leider führt diese Methode aber zu einem Laufzeitfehler (Nr. 5: Ungütliger Prozeduraufruf oder ungültiges Argument) , wenn das gewünschte Objekt nicht sichbar ist. Das ist nicht nur bei "Object.Visible = False" der Fall, sondern auch dann, wenn Sie den Focus in der Load-Anweisung einer Form explizit setzen wollen. Abhilfe schafft hier die API-Funktion SetFocus, der lediglich das Handle des Objekts übergeben wird. Damit die SetFocus Funktion vom Namen her nicht mit der SetFocus-Methode von Objekten kollidiert, geben wir Ihr über einen Alias den Namen apiSetFocus und schreiben die Deklaration in ein Modul: Public Declare Function apiSetFocus Lib "user32" Alias "SetFocus" (ByVal hWnd As Long) As Long Um nun einem ListView-Object den Focus zu geben schreiben wir anstelle von
die neue Funktion
|
0001 SHFileOperation (kopieren, verschieben, umbenennen, löschen)
![]() |
' Deklaration:
Declare Function SHFileOperation Lib "Shell32.dll" Alias _
"SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long |


