Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Иконка в диалоге


Автор: Anton Vatchenko 24.6.2004, 18:16
Как сделать, чтобы в заголовке диалога была иконка?

Автор: _hunter 24.6.2004, 18:32
какого именно диалога ( их много smile.gif )?

Автор: Anton Vatchenko 24.6.2004, 18:34
У меня есть мой диалог, который вызывается функцией DialogBox. Как в нем сделать иконку? (в заголовке)

Автор: _hunter 24.6.2004, 18:53
SetWindowLong() для окна
где nIndex = GWL_STYLE
а dwNewLong = новому классу ( которого поле hIcon определено ( это и есть иконка ) )
хотя это вполне может поменять вид самого окна smile.gif

Автор: Anton Vatchenko 24.6.2004, 18:55
а нет вариантов проще?

Автор: _hunter 24.6.2004, 18:59
куда уж проще?

Автор: Anton Vatchenko 24.6.2004, 19:08
_hunter
Просто я могу испортить стиль окна. Нельзя ли что-то типа SetIcon. Или прямо в ресурсах сделать как-нибудь.

Автор: _hunter 24.6.2004, 19:15
если бы ты использовал MFC -- пожалуйста, но это не путь API smile.gif

Цитата
Просто я могу испортить стиль окна.

не попробуеш -- не узнаеш smile.gif

Автор: AndyY 25.6.2004, 00:11
А чем не нравится

HICON h = (HICON)::LoadImage( hInstance, MAKEINTRESOURCE(<икона>), IMAGE_ICON, 16, 16, 0 );
::SendMessage( hwnd, WM_SETICON, ICON_SMALL, (LPARAM)h );

или в MFC:
...::OnINitDialog()
{
...
HICON h = (HICON)::LoadImage( AfxGetResourceHandle(), MAKEINTRESOURCE(<икона>), IMAGE_ICON, 16, 16, 0 );
SendMessage( WM_SETICON, ICON_SMALL, (LPARAM)h );
...
}
?

Автор: Anton Vatchenko 29.6.2004, 16:55
AndyY
Thanks! Работает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)