Make your own free website on Tripod.com

Home
Home

--- Soumis par Dev Ashish---

Placer un icône sur la barre titre d'un formulaire

    Il n'y a pas de façon directe de placer un icône sur la barre titre, par contre, en chargeant un fichier ICO en mémoire, on peut assigner le dit icône au formulaire en envoyant le message WM_SETICON à la fenêtre.

'*********** Code Start ********
'Code courtesy of
'Klaus H. Probst
'
'// Placer ce code dans un module
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(), types d' image
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(hWnd As Long, IconPath As String) As Boolean
Dim hIcon As Long

   hIcon = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)

   '// wParam = 0, pour de petits icônes; wParam = 1, pour de larges icônes.
   If hIcon <> 0 Then
      Call SendMessage(hWnd, WM_SETICON, 0, ByVal hIcon)
      SetFormIcon = True
   End If
End Function
'*********** Code Start ********