Давно уже хотел написать по поводу 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.
Еще одна статья от Александра (sandy) Илюшенко о создании собственного валидатора для wxTextCtrl.
Наверное каждый сталкивался с проблемой ввода логина пользователя, особенно если необходимо запретить ввод кириллических букв. Для реализации этой столь простой задачи напрашивается использовать
wxTextValidator
и его метод SetExcludes
. Но, как по мне, не очень элегантно перед объявлением wxTextCtrl
создавать экземпляр wxTextValidator
и впихивать в него запрещенные для ввода символы. По-моему, гораздо удобнее использовать унаследованный от wxTextValidator
класс. К тому же, его использование может быть неоднократным.Александр (sandy) Илюшенко любезно предоставил статью о кастомизации класса для печати отчетов wxHtmlEasyPrinting:
В этой статье я опишу еще один переопределенный класс для своих нужд. Думаю, что не только для моих нужд. Началось все с того, что мне пришлось выводить нокоторые свои данные на печать в табличном представлении. Но перед этим, как сами понимаете, не лишним будет и предварительный просмотр.
Александр (sandy) Илюшенко любезно предоставил статью о создании редактора ячеек wxGrid:
Данная статья посвящена внедрению в грид ячеек для редактирования дат и времени. Сам котрол для дат существует -
wxDatePickerCtrl
. Остается вопрос, как прикрутить его к гриду.Александр (sandy) Илюшенко любезно предоставил статью о том, как настроить класc
wxGrid
под свои нужды:
Захотелось мне как-то, чтобы в гриде были не номера строк, а маркер.
К тому же очень хотелось, чтобы незаполненное пространство грида было не белым, а, примерно, как на рисунке ниже.
Навеяно это было в основном аналогичными и другими классами, предоставляемыми MFC. Тут же и вспомнилось, что подобные классы также прдоставляют очень полезные методы для хранения дополнительных не отображаемых данных, такие как SetData()
или GetData()
.This tutorial shows how to:
Create simple wxWidgets application
Extract string constants from source code with poEdit and create .PO file
Translate string constants with poEdit
Create message catalog (.MO file) with poEdit
Apply translation with wxLocale class
You can download this video here.
Выложил русскую PDF-версию статьи "Пишем скринсейвер на wxWidgets". В статье рассмотрено:
Создание собственных компонентов
Отрисовка графики, double-buffering с использованием wxBufferedPaintDC
Обработка событий от мыши и клавиатуры
Обработка аргументов командной строки с помощью wxCmdLineParser
Хостинг wxWidgets-окна на внешнем нативном окне
Скачать статью "Пишем скринсейвер на wxWidgets".
Скачать исходный код примера и проекты для Win32 и Windows Mobile…