Option Compare Database
Option Explicit
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
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
' Pour gérer le changement d'icône avec l'argument wMsg de l'API SendMessage
Public Const WM_GETICON = &H7F
Public Const WM_SETICON = &H80
Public Const ICON_SMALL = 0
Public Const ICON_BIG = 1
' Pour gérer le type d'image à charger avec l'argument un1 de l'API LoadImage
Public Const IMAGE_BITMAP = 0
Public Const IMAGE_ICON = 1
Public Const IMAGE_CURSOR = 2
Public Const IMAGE_ENHMETAFILE = 3
' Pour gérer la présentation de l'image avec l'argument un2 de l'API LoadImage
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 ChangeIconeAccess(NouvIcone As String, Optional frm As String) As Boolean
'Objectif: Mettre une icône personnalisée dans la barre titre l'application ou dans celle d'un formulaire
'Le fichier contenant cette icône est stocké dans le même répertoire que l'application .mdb
Dim hIcon As Long
Dim hwnd As Long
Dim CheminIcone As String
CheminIcone = s_CheminBaseUsine & NouvIcone
If frm = "" Then
hwnd = Application.hWndAccessApp
Else
hwnd = Forms(frm).hwnd
End If
hIcon = LoadImage(0&, CheminIcone, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)
' Argument wParam de l'API SendMessage: si 0 = icône de taille réduite. si 1 = icône de grande taille
If hIcon <> 0 Then
Call SendMessage(hwnd, WM_SETICON, 1, ByVal hIcon)
ChangeIconeAccess = True
End If
End Function
'Exemple : Call ChangeIconeAccess("Nci.ico", Me.Name)
'Exemple : Call ChangeIconeAccess("Nci.ico", "")
Partager