Шаг 35.
Библиотека OWL.
Программа "Печать вкладышей". Основное диалоговое окно

    На этом шаге мы рассмотрим использование диалогового окна в качестве главного.

    Основное диалоговое окно программы "Печать вкладышей" требует многих управляющих элементов: четыре кнопки и 18 областей ввода. Создание этих управляющих элементов в программе и является основной задачей. Вам придется поэкспериментировать с различными размерами элементов управления и их координатами путем изменения соответствующих значений в программе, компиляции программы, изучения общего вида управляющих элементов с последующей их корректировкой. Обойти все эти хитроумные операции можно, создав диалоговое окно с помощью Resource Workshop, а затем использовать созданное окно диалога в качестве вашего главного окна.

    Может показаться, что это очень хитроумная задача, однако, использование диалогового окна в качестве главного окна не сложнее, чем использование для этих целей обычного окна. Вы видите это из функции InitMainWindow() приложения:

void TApp::InitMainWindow()
{
  // Создать главное окно приложения, которое в
  // данной программе представляет собой в
  // действительности диалоговое окно.
  TFrameWindow *wndw = new TFrameWindow(0, "Печать вкладышей",
	  new TWCWnd(0,"DIALOG1"), TRUE);
  // Определить расположение родительского окна.
  wndw->Attr.X = 20;
  wndw->Attr.Y = 20;
  // Установить значение указателя приложения MainWindow.
  SetMainWindow(wndw);
  // Активизировать библиотеку трехмерных элементов.
  EnableBWCC();
}

    Здесь программа создает главное окно TFrameWindow с окном TWCWnd (диалоговым окном) в качестве пользовательского окна. Это простой и легкий путь использования диалогового окна в качестве вашего главного окна, который, в частности, годится для таких простых программ, как "Печать вкладышей". Единственная хитрость состоит в том, что диалоговое окно определяется как дочернее окно, а не как всплывающее окно, каковым обычно является. Чтобы сделать это, загрузите файл ресурсов диалогового окна в Resource Workshop, вызовите диалог Window style двойным щелчком в свободной области диалогового окна и установите кнопку выбора Child, как показано на рисунке 1.


Рис.1. Использование диалога установки Window Style

    Этот класс приложения почти идентичен классам, с которыми вы уже встречались, за исключением того, что он имеет диалоговое окно в качестве главного окна. Это типично для программ ObjectWindows. С небольшими изменениями используемый вами до сих пор класс приложения может служить основой практически для любой программы. Заметим, что вместо создания производного класса для TFrameWindow программа устанавливает атрибуты окна (в данном случае его положение на экране) напрямую в InitMainWindow(), используя указатель wndw для доступа к структуре Attr.

    На следующем шаге мы рассмотрим класс диалогового окна.




Предыдущий шаг Содержание Следующий шаг