Читать вторую часть главы "Написание собственных диалогов".
Books
Читать первую часть главы "Написание собственных диалогов".
Добавление помощи
Существует по крайней мере три пути как можно реализовать помощь для вашего диалога:- Всплывающие подсказки
- Контекстная помощь
- Справочная система
wxHtmlWindow
вместо wxStaticText
и загрузить в него HTML-файл, содержащий необходимое описание. В качестве альтернативы вы можете поместить маленькую кнопку помощи справа от каждого элемента управления, при нажатии на которую выводился бы некоторый текст с описанием.Скачать PDF-версию (342 КБ)
Рано или поздно вам понадобится создать собственный диалог, будь то простой диалог, состоящий из текста и нескольких кнопок, или сложный диалог с вкладками, множеством панелей, собственными элементами управления, контекстной помощью и т.п. В этой главе мы рассмотрим основные принципы создания диалогов, а также передачу данных между переменными C++ и элементами управления. Также будет рассказано об использовании ресурсов, которые позволяют загружать диалоги и другие элементы интерфейса из XML-файлов.
Скачать PDF-версию (223 КБ)
Перевод сделан Грубниковым А.Г.
Все GUI-приложения должны каким-либо образом реагировать на данные, поступающие от устройства ввода. Эта глава покажет как можно взаимодействовать с мышью, клавиатурой и джойстиком.
6.1 Получение данных от мыши
Упрощенно говоря, приложение получает от мыши два вида событий: основные события мыши, посылаемые с помощью классаwxMouseEvent
, и "сырые" события, передаваемые вашей функции-обработчику неинтерпретированными. При этом действия, связанные с элементами управления (такими как, например, кнопка), часто являются результатом интерпретации событий от мыши (или других устройств) как отдельных команд.
Например, когда вы добавляете макрос EVT_BUTTON
в таблицу событий, то вы перехватываете событие wxCommandEvent
, которое было сгенерировано классом wxButton
.Читать первую часть главы
Программирование с wxImage
wxImage
можно использовать, когда Вам нужен платформо-независимый класс работы с изображениями, или как промежуточный класс для загрузки и сохранения изображений. Формат хранения информации об изображении для каждого пикселя использует байт для красного, байт для зеленого, и байт для синего каналов, плюс дополнительный байт для пикселя, если изображение имеет альфа канал.
Основные функции wxImage
в Таблице 10-6.Скачать PDF-версию (942 КБ)
В этой главе рассматривается работа с растровыми изображениями. Изображения очень важны для "дизайна" вашего приложения, и могут использоваться с элементами управления, например с панелями инструментов, списками, вкладками, кнопками, HTML окнами, или при рисовании. Иногда их можно сделать невидимыми в приложении, например, когда нужно избежать мерцания во время прорисовки. В этой главе, мы рассмотрим разные классы изображений и методы перегрузки стандартных классов иконок и изображений, которые есть в wxWidgets.
Several days ago I found How to draw gradient buttons post at Native Mobile blog. Looks nice but I think that using
GradienFill()
is not very convenient because you need to fill all these TRIVERTEX
structures. wxWidgets provides more convenient way of drawing gradients by using wxDC::GradientFillLinear()
. Here is how it can be done in wxWidgets:Книга для начинающих, которая рассказывает об использовании IDE wxDev-CPP для разработки приложений на С++/wxWidgets.
Скачать книгу "Programming with wxDev-CPP"
Домашняя страница книги "Programming With wxDev-CPP"
Скачать PDF-версию (262 кб)
В этой главе рассказывается о классах, которыми располагает библиотека wxWidgets для низкоуровневого доступа к файлам и потокам. Классы потоков wxWidgets не только защищают ваше приложение от особенностей различных стандартных библиотек C++, но также предоставляют множество полезных функций, включая сжатие, запись в zip-архивы и даже потоковые сокеты. Также рассматривается механизм виртуальных файловых систем, который позволяет вашему приложению легко получать данные из источника, отличного от обычных дисковых файлов.
Читать первую честь этой главы.