Учебник по Visual C++ .Net


Немодальный диалог


В предыдущем разделе мы научились редактировать данные документа, воздействуя мышью непосредственно на их представление, то есть облик документа, на экране монитора. Это довольно грубый, но быстрый и эффективный способ, позволяющий получить заготовку некоторой геометрии конструкции, которую впоследствии можно довести до желаемого состояния с помощью таблиц (элементов управления типа grid) или обычных окон редактирования. В практике проектирования геометрии устройств или описания геометрии расчетной области часто используют некоторые стандартные заготовки, которые служат отправной точкой для дальнейшей детализации и усложнения геометрии. Такие заготовки целесообразно выбирать с помощью окон диалога, работающих в немодальном режиме и зачастую называемых Toolbox-window. В них пользователь может выбрать одну из стандартных заготовок геометрии устройства или изменить атрибуты текущей. Создайте с помощью редактора диалогов Studio.Net форму диалога, которая выглядит так, как показано на рис. 5.5. Типы элементов управления, размещенных в окне диалога, и их идентификаторы сведены в табл. 5.1.

Рис. 5.5. Вид окна диалога

Таблица. 5.1 Идентификаторы элементов управления

Элемент

Идентификатор

Диалог

IDD_POLYCOLOR

Окно редактирования Size

IDC_PEN

Кнопка TRI

IDCJTRI

Кнопка PENT

IDC_ PENT

Кнопка STAR

IOC_ STAR

Кнопка Close

IDOK

Окно редактирования Red

IDC_RED

Окно редактирования Green

IDC_GREEN

Окно редактирования Blue

IDC_BLUE

Ползунок (Slider)

IDC_RSLIDER

Slider

IDC_GSLIDER

Slider

IDC_BSLIDER

Окно редактирования Color

IDC_COLOR

Для трех кнопок (TRI, PENT и STAR) установите стиль Owner draw, так как это будут не стандартные кнопки, а кнопки с изображениями, управляемые классом CBitmapButton. Для ползунков установите следующие стили: Orientation: Horizontal, TickMarks: True, AutoTicks: True, Point: Top/Left.

Для управления диалогом необходимо создать новый класс. Для этого можно воспользоваться контекстным меню, вызванным над формой диалога.




Начало  Назад  Вперед