1 1 1 1 1 1 1 1 1 1 Rating 5.00 (2 Votes)

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

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png3.png2.png6.png1.png
Heute77
Gestern57
Diese Woche190
Dieser Monat1320
Total1193261

  • IP: 54.80.183.100
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

23. Mai 2018