Четвертый Borland C++ и его окружение

       

Производные классы


Создав класс, производный от TGadgetWindow, вы можете создать собственное специализированное окно реквизитов. Как и обычные окна, TGadgetWindow реализует функцию Paint, которая выбирает

в контексте устройства шрифт окна и вызывает функцию PaintGadget,

выполняющую итерацию по реквизитам окна и запрашивающую отображение каждого из них.

Для определения общего необходимого размера используйте

функции GetDesiredSize и GetInnerRect (то есть размер, необходимый для размещения всех рамок, полей и реквизитов наибольшего

размера). GetInnerRect вычисляет область внутри рамок и полей и

помещает результат в rect.

В окне реквизитов могут использоваться следующие единицы измерения:

  • Элементы изображения.
  • Единицы схемы окна, определяемые делением шрифта "em" окна

    на 8 вертикальных и 8 горизонтальных сегментов.

  • Единицы рамки основываются на толщине рамки окна. Обычно

    они эквивалентны одному элементу изображения.



  • Обычно лучше использовать единицы схемы окна, так как они

    основываются на размере шрифта (вам не нужно будет беспокоиться о

    масштабировании). Для преобразования этих единиц в элементы изображения используется функция LayoutUnitsToPixels.

    TGadgetWindow перехватывает следующие события:

  • WM_CTLCOLOR;
  • WM_LBUTTONDOWN;
  • WM_LBUTTONUP;
  • WM_MOUSEMOVE;
  • MW_SIZE;
  • WM_SYSCOLORCHANGE;
  • и реализуется соответствующие функции обработки событий.

    ObjectWindows предусматривает ряд производных от TGadgetWindow классов, которые предусматривают ряд способов для вывода и

    задания схемы расположения реквизитов. Это классы TControlBar,

    TMessageBar, TStatusBar и TToolsBox.



    Содержание раздела