vb-Zentrum
API Funktionen
http://www.vb-zentrum.de/tip_api.html

© 2011 vb-Zentrum

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
 

Nach oben

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

ListView1.SetFocus

die neue Funktion

apiSetFocus ListView1.hWnd

 

Nach oben

0001 SHFileOperation (kopieren, verschieben, umbenennen, löschen)

' Deklaration:
Declare Function SHFileOperation Lib "Shell32.dll" Alias _
                 "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
' Parameter:SHFILEOPSTRUCT Type
SHFILEOPSTRUCT hwnd As Long ' Fensterhandel auf das sich der Dialog ' bzw. die Animation modal verhalten soll wFunc As Long ' Funktionskonstante (siehe unten) pFrom As String ' Quelldateien durch Chr(0) getrennt ' das Ende des Strings wird durch 2 x Chr(0) gekennzeichnet pTo As String ' Zieldateien durch Chr(0) getrennt ' das Ende des Strings wird durch 2 x Chr(0) gekennzeichnet. ' Nur möglich, wenn fFlags FOF_MULTIDESTFILES enthält, sonst immer "" & Chr(0) fFlags As Integer ' Kombination aus Flagkonstanten (siehe unten) fAborted As Long ' True, wenn Aktion abgebrochen wurde hNameMaps As Long ' ??? sProgress As String ' Titel des Fortschrittsdialogs, wenn fFlags ' FOF_SIMPLEPROGRESS enthält End Type
' Funktionskonstanten: Const FO_MOVE = &H1 ' verschieben Const FO_COPY = &H2 ' kopieren Const FO_DELETE = &H3 ' löschen Const FO_RENAME = &H4 ' umbenennen
' Flagkonstanten: Const FOF_MULTIDESTFILES = &H1 ' Aktion mit mehreren Dateien Const FOF_CONFIRMMOUSE = &H2 ' unbekannt Const FOF_SILENT = &H4 ' keine Fortschrittsanzeige Const FOF_RENAMEONCOLLISION = &H8 ' bei doppelten Dateinamen wird ' "Kopie von ..." erstellt. Const FOF_NOCONFIRMATION = &H10 ' Keine Dialoge (Autobestätigung) Const FOF_ALLOWUNDO = &H40 ' Rückgängig machen erlaubt Const FOF_FILESONLY = &H80 ' Keine Ordner für Aktion zulassen Const FOF_SIMPLEPROGRESS = &H100 ' Keine Dateinamen im Dialogfeld Const FOF_NOCONFIRMMKDIR = &H200 ' Ordner werden autom. erstellt
' Rückgabe: Immer 0, deshalb ohne Bedeutung!
 

Nach oben