Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Смена иконки формы Добавлено: 10.01.07 22:44  

Автор вопроса:  Sacred Phoenix | ICQ: 304238252 
Загружается иконка через LoadIcon. Можно ли по возвращенному хэндлу сменить иконку формы (Me.Icon)?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 JMP



Вопросов: 6
Ответов: 171
 Профиль | | #1 Добавлено: 11.01.07 00:47
Послать сообщение диалогу

WM_SETICON  
wParam = (WPARAM) fType;          // icon type
lParam = (LPARAM) (HICON) hicon;  // handle of icon

Ответить

Номер ответа: 2
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #2 Добавлено: 11.01.07 15:25
JMP, спасибо огромное!

Ответить

Номер ответа: 3
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #3
Добавлено: 11.01.07 21:36
А почему вот этот код у меня не работает?
Иконка просто исчезает и всё...
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Private Sub Form_Load()
Dim a As Long
a = ExtractIcon(Me.hwnd, "c:\1.ico", 0)
If a <> 0 Then a = SendMessage(Me.hwnd, &H80, 0, a)
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #4 Добавлено: 11.01.07 21:56
2 Серега: обрати внимание

Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpsz[U]Exe[/U]FileName As String, ByVal nIconIndex As Long) As Long

Лично я сделал так:

Private Sub Form_Load()
Dim hSmallIcon As Long

   Call ExtractIconEx(App.Path & "\" & App.EXEName & ".exe", 0, ByVal 0, hSmallIcon, 255)
   If (hSmallIcon <> 0) Then Call SendMessage(Me.hwnd, WM_SETICON, 0, ByVal hSmallIcon&;)
End Sub

Ответить

Номер ответа: 5
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #5 Добавлено: 11.01.07 21:59
2 Серега: обрати внимание

Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpsz[U]Exe[/U]FileName As String, ByVal nIconIndex As Long) As Long

А-я-яй, че-та подчеркивание внутри тега CODE не работает :\

А по сабжу не наю: мона ли в аргументе указывать путь к .ico?

Ответить

Номер ответа: 6
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #6
Добавлено: 11.01.07 22:06
мона ли в аргументе указывать путь к .ico?


The ExtractIcon function retrieves the handle of an icon from the specified executable file, dynamic-link library (DLL), or icon file.

HICON ExtractIcon(

    HINSTANCE hInst, // instance handle
    LPCTSTR lpszExeFileName, // filename of file with icon
    UINT nIconIndex // index of icon to extract
   ;);
 

Parameters

hInst

Identifies the instance of the application calling the function.

lpszExeFileName

Points to a null-terminated string specifying the name of an executable file, DLL, or icon file.

nIconIndex

Specifies the index of the icon to retrieve. If this value is 0, the function returns the handle of the first icon in the specified file. If this value is -1, the function returns the total number of icons in the specified file.

- видимо можно, но почему - то не фурычит... :)

Ответить

Номер ответа: 7
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #7 Добавлено: 11.01.07 23:05
а ну дык тада тебе не Me.hWnd нужно указывать, а App.hInstance

Ответить

Номер ответа: 8
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #8
Добавлено: 12.01.07 17:45
Пробовал. Не работает.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам