www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 9 - Диалоговая панель

Создание проекта

Дополняем Step1. В файле ресурсов необходимо создать диалоговую панель. Для этого перейти на вкладку Resource и Меню Insert далее New Resource из списка выберите диалоговая панель.

Создаем код

Возьмем реакцию на двойной щелчок правой кнопкой мыши. И изменим процедуру реакции.
void CMainWnd::OnRButtonDblClk( UINT, CPoint )
{
    CDialog about(IDD_DIALOG1);
    if (about.DoModal()==IDOK ) AfxMessageBox("Ok");
    else AfxMessageBox("Cancel");
}

Описание

Для работы с диалоговыми панелями в MFC есть класс CDialog и CModalDialog. Эти классы необходимы для создания немодального и модального диалогового окна.

На данный момент эти понятия нужно расматривать как зависимое и независимое. То есть вывод модального окна на экран блокирует обращения к другим элементам приложения - меню, окна, кнопки и т.д. Немодальное окно позволяет обрашаться к окну программы.

Мы создали свой статический класс CDialog. Он будет существовать только когда существует процедура. Вообще это понятие области видимости переменной. Если она объявлена на уровне процедуры, то живет только пока выполняется процедура. Правило, что после скобки { началось , то на скобке } и закончится. С мечом пришедши, от него погибнешь и т.п.

В параметр мы указали идентификатор окна из ресурса. По этому идентификатору и будет получена копия окна. Внимание - класс CDialog создает окно на основе ресурсов, беря идентификатор и строя по нему окно.

Функция DoModal() выводит окно в модальном режиме , то есть блокируя главное окно программы.

Она возвращает результат - код нажатой клавиши. Вот его мы и обрабатываем. По русски там написано так - Если в результате запуска окна нажата клавиша ОК, выведи сообщение ОК, иначе выведи сообщение Cancel.

Компилируем, запускаем, по двойному щелчку окно есть. Вы чувствуете как растет наша компьютерная мускулатура?


Шпаргалка

  1. Создай диалоговое окно в ресурсах
  2. На основе идентификатора создай объект диалогового окна.
    CDialog about(IDD_DIALOG1);
    
  3. Запусти просто
    about.DoModal();
    
    Или с обработкой
     if (about.DoModal()==IDOK )
    

Комментарии | Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz