wxWidgets Глава 2. Базовый GUI. Часть 2. Иконка фрейма. Файл Ресурсов

Под Windows MinGW работа с иконками и ресурсами имеют нюансы. Это и будем разбирать

Согласно документации, "Все платформы wxWidgets поддерживают XPM для небольших растровых изображений и значков. Вы можете включить встроенный XPM, как показано ниже, так как это код C, или вы можете загрузить его во время выполнения."

Для этого достаточно подключить  #include "sample.xpm"

И выполнить макрос wxIcon icon(wxICON(sample));

Этот макрос заменяет такой код

 

Ну и для подключения к фрейму нужно выполнить SetIcon(icon).

Но по факту такой подход у меня не работал ни в какую. Что бы я не делал. Поэтому есть 2 более надежных варианта.

1. Подгрузка стороннего файла (Иконка)

Самый простой способ подключить Иконку к фрейму приложения это Подключить .ico файл как внешний файл

У данного способа есть недостаток. Придеться скидывать все иконки и другие файлы в папку с исполняемым файлом. Что в итоге может засорить программу. И поэтому можно внедрить файлы через ресурсы

2. Создание файла ресурсов и подключение иконки через ресурсы.

Для того чтобы создать файл ресурсов - самы простой способ это подключить его через header , тоесть создаем 2 файла:

  1. resource.h
  2. resource.rc

 

resource.h
resource.rc

icon_file - это некая переменная которую можно будет использовать вместо пути к внешнему файлу. 

Для этого мы подключим файл ресурсов к нашему коду  #include "resource.h"

Дале подключаем через макрос - Еще раз напомню WxIcon() - Это класс, а WxICON() - это макрос - Не путаем

Подключаем иконку

Таким образом, мы можем подгружать и другие файлы.. Но это уже совсем другая тема.