Jedes Access-Formular hat immer ein und dasselbe Fenstersymbol bzw. Icon. Wie man es von Visual Basic her kennt, wäre es doch schön, wenn man jedem Formular ein individuelles Formularicon zuweisen könnte. Mit folgendem Trick ist das ganz einfach möglich. Alles was Sie hierzu benötigen sind Icons im ICO-Format. Legen Sie diese im Datenbankverzeichnis ab oder erstellen Sie hierfür ein eigenes Unterverzeichnis. In unserem mitgelieferten Beispiel liegen die ICO-Dateien im Datenbankverzeichnis. Beim Laden des Formulars wird im Bereich Private Sub Form_Open(Cancel As Integer) das Datenbankverzeichnis ermittelt und das Icon geladen. Private Sub Form_Open(Cancel As Integer) Dim bolIconLoaded As Boolean Dim Datenbankpfad As String Datenbankpfad = Left(CurrentDb.Name, _ Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name))) bolIconLoaded = SetFormIcon(Me.hWnd, Datenbankpfad & "web.ico") End Sub Zum Laden und Anzeigen des Icons ist noch nachfolgender Code notwendig. Erstellen Sie hierzu ein neues Modul, fügen den Code ein und speichern dieses unter einem beliebigen Namen. Option Explicit ' Benötigte API-Deklarationen 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 WM_GETICON = &H7F Public Const WM_SETICON = &H80 Public Const ICON_SMALL = 0 Public Const ICON_BIG = 1 ' // LoadImage() image types Public Const IMAGE_BITMAP = 0 Public Const IMAGE_ICON = 1 Public Const IMAGE_CURSOR = 2 Public Const IMAGE_ENHMETAFILE = 3 ' // LoadImage() flags Public Const LR_DEFAULTCOLOR = &H0 Public Const LR_MONOCHROME = &H1 Public Const LR_COLOR = &H2 Public Const LR_COPYRETURNORG = &H4 Public Const LR_COPYDELETEORG = &H8 Public Const LR_LOADFROMFILE = &H10 Public Const LR_LOADTRANSPARENT = &H20 Public Const LR_DEFAULTSIZE = &H40 Public Const LR_LOADMAP3DCOLORS = &H1000 Public Const LR_CREATEDIBHeader = &H2000 Public Const LR_COPYFROMRESOURCE = &H4000 Public Const LR_SHARED = &H8000 Public Function SetFormIcon(ByVal hWnd As Long, _ ByVal IconPath As String) As Boolean Dim hIcon As Long hIcon = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE) ' // wParam = 0; Setting small icon. wParam = 1; setting large icon If hIcon <> 0 Then Call SendMessage(hWnd, WM_SETICON, 0, ByVal hIcon) SetFormIcon = True End If End Function Dieser Tipp wurde bereits 18.639 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |