vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Access   |   VB-Versionen: VBA18.12.06
Eigene Formular-Icons in Access-Formularen anzeigen

Dieser Tipp zeigt, wie man eigene, individuelle Formularicon anzeigen kann.

Autor:   Microsys KramerBewertung:     [ Jetzt bewerten ]Views:  18.639 
www.access-paradies.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

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

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel