TX Library Help – Version: 00173a, Revision: 173
 ALL  Windows graphics in a sandbox

Структура txDialog

Базовый класс для диалоговых окон. Подробнее...

Граф связей класса txDialog:

Полный список членов класса

Классы

struct  Layout
 Класс для описания элемента диалогового окна (контрола) Подробнее...

Открытые типы

enum  CONTROL {
  DIALOG = (int) 0x00000000,
  BUTTON = (int) 0xFFFF0080,
  EDIT = (int) 0xFFFF0081,
  STATIC = (int) 0xFFFF0082,
  LISTBOX = (int) 0xFFFF0083,
  SCROLLBAR = (int) 0xFFFF0084,
  COMBOBOX = (int) 0xFFFF0085,
  END = (int) 0x00000000
}
 

Константы для задания типа контрола.

Подробнее...

Открытые члены

 txDialog ()
 Конструктор.
 txDialog (const Layout *layout)
 Конструктор.
virtual ~txDialog ()
 Деструктор.
const LayoutsetLayout (const Layout *layout)
 Устанавливает текущий макет диалогового окна.
virtual int dialogProc (HWND _wnd, UINT _msg, WPARAM _wParam, LPARAM _lParam)
 Функция обработки сообщений диалогового окна.
intptr_t dialogBox (const Layout *layout=NULL, size_t bufsize=0)
 Запускает диалоговое окно.
intptr_t dialogBox (WORD resource)
 Запускает диалоговое окно.

Защищенные статические члены

static intptr_t CALLBACK DialogProc_ (HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam)
 Настоящая диалоговая функция (не txDialog::dialogProc(), т.к. функция окна in32 должна быть статической).

Закрытые члены

 txDialog (const this_t &) _tx_delete
 Закрытые конструктор копирования и оператор присваивания.

Закрытые данные

const Layoutlayout_
 Текущий макет диалога.

Подробное описание

Базовый класс для диалоговых окон.

Для создания своего диалогового окна нужно:

  1. Унаследовать свой класс из этого базового класса;
  2. Задать состав и расположение элементов управления (контролов) функцией txDialog::setLayout(), или указать карту расположения при показе диалогового окна функцией txDialog::dialogBox();
  3. Переопределить в своем классе функцию txDialog::dialogProc() для обработки событий диалогового окна или построить карту реакций на команды с помощью макросов TX_BEGIN_MESSAGE_MAP(), TX_END_MESSAGE_MAP, TX_COMMAND_MAP.
Заметки:
Этот класс предоставляет только базовую функциональность диалоговых окон и только базовые сведения по ним. Для его полноценного использования нужно знать, как работать с диалоговыми окнами в Windows.
См. также:
txDialog::setLayout(), txDialog::dialogProc(), txDialog::Layout, TX_BEGIN_MESSAGE_MAP(), TX_END_MESSAGE_MAP, TX_COMMAND_MAP
Примеры использования:
          Cм. реализацию функции txInputBox().

См. определение в файле TXLib.h строка 6495


Конструктор(ы)

txDialog ( )

Конструктор.

См. также:
txDialog::txDialog (const txDialog::Layout*)
Примеры использования:
          Cм. реализацию функции txInputBox().
txDialog ( const Layout layout) [explicit]

Конструктор.

Аргументы:
layoutМакет диалогового окна.
См. также:
txDialog::Layout, txDialog::setLayout()
Примеры использования:
          Cм. реализацию функции txInputBox().

Методы

const Layout* setLayout ( const Layout layout)

Устанавливает текущий макет диалогового окна.

Аргументы:
layoutМакет диалогового окна.
Возвращает:
Предыдущий макет.
См. также:
txDialog::Layout, txDialog::txDialog (const txDialog::Layout*), txDialog::dialogBox()
Примеры использования:
          Cм. реализацию функции txInputBox().
virtual int dialogProc ( HWND  _wnd,
UINT  _msg,
WPARAM  _wParam,
LPARAM  _lParam 
) [virtual]

Функция обработки сообщений диалогового окна.

Аргументы:
_wndДескриптор окна.
_msgНомер сообщения.
_wParam1-й параметр сообщения (WORD).
_lParam2-й параметр сообщения (DWORD).
Возвращает:
В большинстве случаев false, детальнее см. DialogProc в MSDN.

Эту функцию надо переопределить для обработки событий окна, или построить ее с помощью макросов TX_BEGIN_MESSAGE_MAP(), TX_END_MESSAGE_MAP, TX_COMMAND_MAP.

См. также:
txDialog::dialogBox(), TX_BEGIN_MESSAGE_MAP(), TX_END_MESSAGE_MAP, TX_COMMAND_MAP
Примеры использования:
          Cм. реализацию функции txInputBox().
intptr_t dialogBox ( const Layout layout = NULL,
size_t  bufsize = 0 
)

Запускает диалоговое окно.

Аргументы:
layoutМакет диалогового окна.
Если не указан -- используется значение, заданное txDialog::setLayout() или конструктором txDialog::txDialog (const txDialog::Layout*).
bufsizeРазмер буфера для создания шаблона диалога. Если не указан -- размер по умолчанию.
Возвращает:
Значение, указанное в функции EndDialog().
По умолчанию -- адрес объекта (this), для которого была запущена txDialog::dialogBox().
См. также:
txDialog::dialogProc(), txDialog::setLayout(), txDialog::Layout, txDialog
Примеры использования:
          Cм. реализацию функции txInputBox().
intptr_t dialogBox ( WORD  resource)

Запускает диалоговое окно.

Аргументы:
resourceИдентификатор диалогового ресурса.
Возвращает:
Значение, указанное в функции EndDialog().
По умолчанию -- адрес объекта (this), для которого была запущена txDialog::dialogBox().
См. также:
txDialog::dialogProc()
Примеры использования:
          Cм. реализацию функции txInputBox().

Объявления и описания членов структуры находятся в файле: