This tutorial shows how to:
Create wxFlatNotebook static library in Code::Blocks.
Configure and compile wxFlatNotebook library.
Create small wxWidgets project which uses wxFlatNotebook.
Configure project and add support of 3rd-party library.
Download video: "Using wxFlatNotebook in Code::Blocks Project".
Читать вторую часть главы "Написание собственных диалогов".
Дополнительные заметки о дизайне диалогов
Несколько советов, которые помогут вашим диалогам выглядеть профессионально выглядящими.Навигация с помощью клавиатуры
Указывайте мнемоники для меток со статическим текстом и для других элементов управления с метками. Для этого необходимо поставить перед необходимым символом амперсанд (&). На некоторых платформах (особенно Windows и GTK+) мнемоники помогают пользователю быстро передвигаться между элементами управления.Читать первую часть главы "Написание собственных диалогов".
Добавление помощи
Существует по крайней мере три пути как можно реализовать помощь для вашего диалога:- Всплывающие подсказки
- Контекстная помощь
- Справочная система
wxHtmlWindow
вместо wxStaticText
и загрузить в него HTML-файл, содержащий необходимое описание. В качестве альтернативы вы можете поместить маленькую кнопку помощи справа от каждого элемента управления, при нажатии на которую выводился бы некоторый текст с описанием.Скачать PDF-версию (342 КБ)
Рано или поздно вам понадобится создать собственный диалог, будь то простой диалог, состоящий из текста и нескольких кнопок, или сложный диалог с вкладками, множеством панелей, собственными элементами управления, контекстной помощью и т.п. В этой главе мы рассмотрим основные принципы создания диалогов, а также передачу данных между переменными C++ и элементами управления. Также будет рассказано об использовании ресурсов, которые позволяют загружать диалоги и другие элементы интерфейса из XML-файлов.
Скачать PDF-версию (223 КБ)
Перевод сделан Грубниковым А.Г.
Все GUI-приложения должны каким-либо образом реагировать на данные, поступающие от устройства ввода. Эта глава покажет как можно взаимодействовать с мышью, клавиатурой и джойстиком.
6.1 Получение данных от мыши
Упрощенно говоря, приложение получает от мыши два вида событий: основные события мыши, посылаемые с помощью классаwxMouseEvent
, и "сырые" события, передаваемые вашей функции-обработчику неинтерпретированными. При этом действия, связанные с элементами управления (такими как, например, кнопка), часто являются результатом интерпретации событий от мыши (или других устройств) как отдельных команд.
Например, когда вы добавляете макрос EVT_BUTTON
в таблицу событий, то вы перехватываете событие wxCommandEvent
, которое было сгенерировано классом wxButton
.New video which shows ho to:
Create minimal wxWidgets application for Windows Mobile
Compile SQLite for Windows Mobile 5
Compile wxSQLite3 for Windows Mobile 5
Setup wxWidgets application to use wxSQLite
Create SQLite database programmatically
Create tables in database programmatically
Fill tables with data
Retrieve data
Handle…
Давно уже хотел написать по поводу wxJavaScript. По-моему сейчас как раз пришло время для этого, т.к. проект уже успел развиться до такого состояния, когда все работает более-менее стабильно.
Итак, что же это за зверь wxJavaScript? Проект начинался как обычный порт wxWidgets на JavaScript, но, со временем, "оброс" библиотеками, которых в wxWidgets отродясь не было. Это модули curl, sqlite, mysql и др. Также проект получил реинкарнацию в виде модуля к Apache, который может использоваться для создания динамических HTML-страниц. Но об этом потом. Сейчас мне бы хотелось рассказать о том, как этим всем можно пользоваться для достижения собственных корыстных целей.
After taking a look at wxWidgets samples I noticed that all of them have simple message box instaed of normal about box. However in real applications About dialog is important enough part of GUI.
So, in this post I'm going to tell a bit about creating About boxes for your software.
wxWidgets has builf-in API for creating "standard" dialog boxes. wxAboutBox() function is used for displaying About box and wxAboutDialogInfo object, which contains all necessary information, should be passed to wxAboutBox() function.
Читать первую часть главы
Программирование с wxImage
wxImage
можно использовать, когда Вам нужен платформо-независимый класс работы с изображениями, или как промежуточный класс для загрузки и сохранения изображений. Формат хранения информации об изображении для каждого пикселя использует байт для красного, байт для зеленого, и байт для синего каналов, плюс дополнительный байт для пикселя, если изображение имеет альфа канал.
Основные функции wxImage
в Таблице 10-6.Скачать PDF-версию (942 КБ)
В этой главе рассматривается работа с растровыми изображениями. Изображения очень важны для "дизайна" вашего приложения, и могут использоваться с элементами управления, например с панелями инструментов, списками, вкладками, кнопками, HTML окнами, или при рисовании. Иногда их можно сделать невидимыми в приложении, например, когда нужно избежать мерцания во время прорисовки. В этой главе, мы рассмотрим разные классы изображений и методы перегрузки стандартных классов иконок и изображений, которые есть в wxWidgets.