Замена иконок в форме
Автор Administrator   
22.04.2010 г.
Меняем иконки в формах...
Не существует свойства формы изменяя которое можно заменить иконку, но  можно это сделать, 
загружая ICO файл в память и назначая значок на форму (посылаем WM_SETICON сообщение окну).
'*********** Code Start ********
'Code courtesy of
'Klaus H. Probst  '
'// Place all this in a 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() 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(hWnd As Long, 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

'*********** Code Start ********

 
Download now

Просмотров: 11396

  Коментарии (1)
 1 Написал(а) Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , в 12:24 01.03.2012
А нужно ли разрушать значек по завершении, например, фнкцией DestroyIcon?

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code