Call SendMessage(hwnd, WM_SETICON, 0, LoadIcon(GetModuleHandle("SHELL32.DLL"), ByVal 33))
Matew писал(а):А переименовать менюшки так же сендмеседжем
Matew писал(а):Что надо поставить вместо ByVal 33, а то иконка меняется на пустую?
MSDN писал(а):Parameters
wParam
Specifies the type of icon to be set. This parameter can be one of the following values.
ICON_BIG
Set the large icon for the window.
ICON_SMALL
Set the small icon for the window.
lParam
Handle to the new large or small icon. If this parameter is NULL, the icon indicated by wParamis removed.
Call SendMessage(hwnd, WM_SETICON, 0,vbNull)
и
Call SendMessage(hwnd, WM_SETICON, 0,0)
Call SendMessage(hwnd, WM_SETICON, 0, LoadIcon(GetModuleHandle("SHELL32.DLL"), ByVal 33))
Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
SendMessageLong trgthwnd, WM_SETICON, ICON_SMALL , ByVal LoadResPicture(1, 1) '
Знаю. Но разве этот хэндл глобален? В чем тогда причина того, что на чужой форме иконка не меняется?Иконка -- это объект GDI
Таблица хэндлов, о которой мы все подумали, естественно тут ни при чем. Но неглобальность DC и GUI хэндлов наталкивает на мысль о еще какой-то таблице. По иному, ИМХО, и быть не может...tyomitch писал(а):Ахез. Вон DC, я проверял, не глобальные. Может, и иконки тоже.
Я имел в виду только то, что таблица хендлов к иконкам никаким боком.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61