15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Элемент управления CCharSetBtn


Автор: Thorsten Wack.

Совместимость: VC6 SP4, NT4 SP3

Создание данного элемента управления было продиктовано необходимостью выбирать определённый символ из текущей раскладки, а так же настраивать параметры шрифта для этого символа (жирность и наклонность). Поэтому был наследован контрол от CButton основанный на примере, который открывал вплывающий диалог, как выпадающее окно ( Shekar Narayanan и S. D. Rajan).

Сам по себе диалог содержит ComboBox и нестандартный контрол, который позволяет делать выборку символов.

Для использования контрола, проделаем следующее:

  1. Импортируем файлы заголовков и добавляем файлы .cpp из секции CharSetBtn.
  2. Импортируем ресурсы IDB_GLYPHS и IDD_CHARSET_DLG (всплывающее окно, включая CharSetCtrl).
  3. На диалог добавляем кнопку (устанавливаем стиль ownerdraw).
  4. В визарде добавляем переменну-член CButton. Изменяем класс CButton в заголовочном файле диалога на CCharSetBtn и всё.

Класс CCharSetBtn имеет переменные члены:

  int      m_nChar;
  CString  m_strFaceName;
  BOOL     m_bItalic;
  BOOL     m_bBold;

которые служат для обмена данными (data-exchange).

Если произвести небольшие изменения, то можно использовать структуру LOFGONT.

Downloads

Скачать демонстрационный проект - 40 Kb
Скачать исходник - 29 Kb