Problemstellung:
Das Icon einer Access Anwendung zu ändern ist kein Problem.
Aber das Icon eines Access Formulars zu ändern ist etwas aufwändiger.
Wie kann ich das ändern?
Lösung:
Ausgangsposition: Access zeigt immer das Standard Icon für Formulare an.
Folgenden Code in ein öffentliches Modul kopieren:
Public Declare Function LoadImage Lib "user32" _ Alias "LoadImageA" _ (ByVal hInst As Long, _ ByVal lpsz As String, _ ByVal un1 As Long, _ ByVal n1 As Long, _ ByVal n2 As Long, _ ByVal un2 As Long) _ As Long Public Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) _ As Long Public Const IMAGE_ICON = 1 Public Const LR_LOADFROMFILE = &H10 Public Const WM_SETICON = &H80 Public Const ICON_SMALL = 0 Public Function SetFormIcon( _ ByVal lngHWnd As Long, _ ByVal strIconFile As String) As Boolean Dim lngIcon As Long lngIcon = LoadImage(0, strIconFile, IMAGE_ICON, 16, 16, _ LR_LOADFROMFILE) If lngIcon <> 0 Then Call SendMessage(lngHWnd, WM_SETICON, ICON_SMALL, _ ByVal lngIcon) End If End Function
Der Aufruf sollte idealerweise im Load-Ereignis des Forms erfolgen da das Icon nicht gespeichert wird.
z.B.:
Private Sub Form_Load() SetFormIcon Me.hwnd, CurrentProject.Path & "\Test.ico" End Sub
Statt CurrentProject.Path & "\Test.ico" kann natürlich auch der absolute Pfad der Datei angegeben werden.
Ergebnis:
Ähnliche Artikel
Weiterlesen...