Win32 CreateWindowEx () значок окна не отображается должным образом - PullRequest
1 голос
/ 05 июля 2011

Я создаю свое окно, используя CreateWindowEx, но я получаю только значок на панели задач;как строка заголовка окна, так и значок, который отображается, когда я нажимаю Alt + Tab, отображает этот тип фиктивного значка: default Windows icon.Я установил в полях hIcon и hIconSm в WNDCLASSEX значение, возвращаемое из ::LoadIcon(hInstance, IDI_APPLICATION) (не NULL).

Сам файл .ico был создан из файла .png, которыйЯ прошел через http://converticon.com до 16x16, 32x32 и 96x96 (каковы рекомендуемые размеры между прочим?).Может быть, я использую неправильные размеры или глубину цвета?Если да, то почему он работает в панели задач (другого размера)?Спасибо!

1 Ответ

4 голосов
/ 05 июля 2011

Значок должен быть определен как ресурс где-то. В заголовке вашего ресурса должна быть такая строка:

#define IDI_MYICON 1000

Тогда при вызове LoadIcon () это должно выглядеть примерно так:

wc.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(IDI_MYICON));

Если вы используете Visual Studio, добавить ресурсы довольно просто. Просто щелкните правой кнопкой мыши Ресурсы в обозревателе решений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...