Skip to content Skip to sidebar Skip to footer

Работаем с Cairo в wxWidgets – Часть I – Компиляция CAIRO 1.8.6 на Visual C++ 8

Первая статья из цикла, повествующего о том, ка киспользовать библиотеку cairo (и обертку wxCairo) с wxWidgets. В этот раз речь пойдет о том, как собрать библиотеку cairo с помощью Visual C++ в Windows. Для начала определимся, что нам нужно:
  • Mozilla Build 1.3
  • cairo 1.8.6
  • libpng 1.2.35
  • zlib 1.2.3
  • pixman 0.14.0

Работа с базами данных в wxWidgets – DatabaseLayer – Минимальное приложение

Вслед за анонсом новой версии DatabaseLayer, кросс-платформенной библиотеки для работы с базами данных, решил выложить небольшой туториал с примером использования DatabaseLayer. В этот раз мы рассмотрим пример создания простейшего консольного приложения, использующего эту библиотеку для работы с базами данных.

DatabaseLayer 1.8 Released

Yesterday jb_coder announced new version of cross-platform database access library for wxWidgets, DatabaseLayer 1.8. DatabaseLayer provides access to different types of databases using unified wxWidgets-based API. It supports: SQLite3 Firebird MySQL PostgreSQL…

Перевод книги Julian’а Smart’а – Глава IX – Написание собственных диалогов – Часть III

Читать вторую часть главы "Написание собственных диалогов".

Дополнительные заметки о дизайне диалогов

Несколько советов, которые помогут вашим диалогам выглядеть профессионально выглядящими.

Навигация с помощью клавиатуры

Указывайте мнемоники для меток со статическим текстом и для других элементов управления с метками. Для этого необходимо поставить перед необходимым символом амперсанд (&). На некоторых платформах (особенно Windows и GTK+) мнемоники помогают пользователю быстро передвигаться между элементами управления.

Перевод книги Julian’а Smart’а – Глава IX – Написание собственных диалогов – Часть II

Читать первую часть главы "Написание собственных диалогов".

Добавление помощи

Существует по крайней мере три пути как можно реализовать помощь для вашего диалога:
  • Всплывающие подсказки
  • Контекстная помощь
  • Справочная система
Кроме того у нас уже есть некоторый текст на самой панели диалога. Возможно вы захотите также использовать другие технологии, явно не поддерживаемые в wxWidgets. Например, для более сложных диалогов вы можете создать wxHtmlWindow вместо wxStaticText и загрузить в него HTML-файл, содержащий необходимое описание. В качестве альтернативы вы можете поместить маленькую кнопку помощи справа от каждого элемента управления, при нажатии на которую выводился бы некоторый текст с описанием.

Перевод книги Julian’а Smart’а – Глава IX – Написание собственных диалогов – Часть I

Скачать PDF-версию (342 КБ) Рано или поздно вам понадобится создать собственный диалог, будь то простой диалог, состоящий из текста и нескольких кнопок, или сложный диалог с вкладками, множеством панелей, собственными элементами управления, контекстной помощью и т.п. В этой главе мы рассмотрим основные принципы создания диалогов, а также передачу данных между переменными C++ и элементами управления. Также будет рассказано об использовании ресурсов, которые позволяют загружать диалоги и другие элементы интерфейса из XML-файлов.

Перевод книги Julian’а Smart’а – Глава VI – Обработка данных с устройств ввода

Скачать PDF-версию (223 КБ) Перевод сделан Грубниковым А.Г. Все GUI-приложения должны каким-либо образом реагировать на данные, поступающие от устройства ввода. Эта глава покажет как можно взаимодействовать с мышью, клавиатурой и джойстиком.

6.1 Получение данных от мыши

Упрощенно говоря, приложение получает от мыши два вида событий: основные события мыши, посылаемые с помощью класса wxMouseEvent, и "сырые" события, передаваемые вашей функции-обработчику неинтерпретированными. При этом действия, связанные с элементами управления (такими как, например, кнопка), часто являются результатом интерпретации событий от мыши (или других устройств) как отдельных команд. Например, когда вы добавляете макрос EVT_BUTTON в таблицу событий, то вы перехватываете событие wxCommandEvent, которое было сгенерировано классом wxButton.