Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Установка значка для диалогового окна

7
19 июня 2015 года
@pixo $oft
3.4K / / 20.09.2006
Устанавливаю значок окна в WM_INITDIALOG следующим образом:
 
Код:
SendMessage(hDlg,WM_SETICON,ICON_SMALL,(LPARAM)LoadIcon(0,(LPSTR)1));
Стили диалогового окна:
 
Код:
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
Проверил — EXSTYLE и WS_POPUP вообще можно убрать, поведение окна от этого не изменится.

В результате значок появляется только у кнопки окна в панели задач, а в заголовке остаётся стандартный («никакой»). Ну и в альт-табе тоже «никакой» значок.Как исправить ситуацию?
7
20 июня 2015 года
@pixo $oft
3.4K / / 20.09.2006
Уж коий раз твердили миру, что лесть гнусна, вредна…
Всё оказалось гораздо прозаичнее. Дважды вызывать функцию с различным размером значков не надо, а вот hInstance обязательно надо передавать валидный. Нет, вы это понимаете?! В панели задача всё отображается как надо, а Alt+Tab и заголовок у нас — граждане капризные, им передавай hInstance.
В общем, спасибо за участие, я решил поэксперементировать, и оно заработало :)
412
20 июня 2015 года
grgdvo
323 / / 04.07.2007
Хелп всему голова :)

https://msdn.microsoft.com/en-us/library/windows/d...
Цитата:
Associates a new large or small icon with a window. The system displays the large icon in the ALT+TAB dialog box, and the small icon in the window caption.

Попробуйте хах в хелпе рекомендуют.
Сделать два раза ICOSET для BIG_ICON и SMALL_ICON

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог