Приложение с немодальной диалоговой панелью
Приложение с немодальной диалоговой панелью
Процедура создания немодальной диалоговой панели несколько отличается от процедуры создания модальной диалоговой панели. Как и в случае с модальной диалоговой панелью, в первую очередь вы должны создать шаблон диалоговой панели и добавить его в файл ресурсов приложения.
Затем надо создать класс управляющий диалоговой панелью – класс диалоговой панели. Этот класс наследуется непосредственно от базового класса CDialog. В классе диалоговой панели следует определить методы для обработки сообщений от органов управления диалоговой панели.
Следующие шаги выполняются только для немодальных диалоговых панелей. Для класса диалоговой панели надо определить конструктор, объявив его как public. Чтобы открыть немодальную диалоговую панель, создайте объект класса диалоговой панели, обратившись к определенному вами конструктору. В этот момент диалоговая панель еще не появляется на экране. Для этого надо вызвать метод Create класса CDialog.
Вы можете вызывать метод Create либо непосредственно из конструктора класса диалоговой панели, либо уже после создания объекта. Если диалоговая панель имеет стиль WS_VISIBLE, она сразу появится на экране. В противном случае для этого надо вызвать метод ShowWindow. Как видите, для отображения немодальной диалоговой панели мы не использовали метод DoModal.
В классе CDialog определены два прототипа метода Create. Один позволяет указать диалоговую панель через ее текстовое имя, а другой через числовой идентификатор:
BOOL Create(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL);
BOOL Create(UINT nIDTemplate, CWnd* pParentWnd = NULL);
Параметр lpszTemplateName должен содержать указатель на строку, закрытую нулем, содержащую имя ресурса диалоговой панели. Если вы используете метод Create, имеющий второй прототип, вместо имени шаблона, надо указать в параметре nIDTemplate его идентификатор.
Параметр pParentWnd задает родительское окно диалоговой панели. Если в качестве pParentWnd указать NULL, то в качестве родительского окна выступает главное окно приложения.
Метод Create возвращает управление сразу после того, как диалоговая панель отобразилась на экране. Он возвращает ненулевое значение, если создание диалоговой панели завершилось успешно и нуль в противном случае.
Чтобы закрыть немодальную диалоговую панель, можно воспользоваться методом DestroyWindow (метод DestroyWindow определен в классе CWnd и вы можете вызвать его для объектов класса диалоговой панели).
Теперь вам остается удалить объект, управляющий диалоговой панелью. Для этого в классе диалоговой панели можно переопределить виртуальный метод PostNcDestroy (этот метод первоначально определен в базовом классе CWnd). В нем вы можете вызвать оператор delete, передав ему в качестве параметра указатель на данный объект this .
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
ПРИЛОЖЕНИЕ
ПРИЛОЖЕНИЕ ЦЕЛИ КАЖДОЙ ГРУППЫ КЛЮЧЕВЫХ ПРОЦЕССОВ Ниже перечислены цели всех групп ключевых процессов по уровням
Приложение
Приложение Приложение содержит информацию в основном прикладного характера, которая может понадобиться при изучении описанного выше
6.3. Добавление в раскадровку контроллера с панелью вкладок
6.3. Добавление в раскадровку контроллера с панелью вкладок Постановка задачи С помощью раскадровок требуется создать приложение, построенное на базе контроллера с панелью
Приложение с модальной диалоговой панелью
Приложение с модальной диалоговой панелью В этом разделе мы расскажем о том, как создать простейшее приложение с единственной диалоговой панелью. Диалоговая панель будет содержать несколько кнопок, статическое текстовое поле и поле редактирования. В следующей главе мы
4. Приложение с главной диалоговой панелью
4. Приложение с главной диалоговой панелью В состав компиляторов Microsoft Visual C++ встроены средства, позволяющие программисту облегчить разработку приложений. В первую очередь к ним относятся MFC AppWizard и ClassWizard .Как известно, в любом деле самое трудное – начало. Это высказывание
ПРИЛОЖЕНИЕ Б
ПРИЛОЖЕНИЕ Б Полезные команды интерпретатора shellВ этом приложении перечисляются и описываются некоторые полезные команды интерпретатора shell. Здесь не приводится исчерпывающий список параметров для каждой команды. Однако имеющихся параметров вполне достаточно для
Приложение
Приложение Зарегистрированный Peopleware(Последняя заметка из серии «Peopleware» появилась в мартовском выпуске журнала Software Development за 1995 год. Когда колонку внезапно закрыли, у меня уже был черновик апрельской заметки, которую я предполагал написать в более шутливом стиле в
Знакомство с панелью Actions
Знакомство с панелью Actions Теперь нам осталось привязать наш сценарий к кадру. А значит, нам понадобится панель Actions. Чтобы вывести ее на экран, нужно:? либо включить пункт-выключатель Actions меню Window;? нажать клавишу <F9>;? нажать кнопку, расположенную в правой части панели
Работа с панелью Actions
Работа с панелью Actions С панелью Actions мы уже знакомы. (Еще бы — сколько сценариев с ее помощью мы уже написали!.. Целых четыре!) Давайте посмотрим, что она нам еще может предложить, продолжим знакомство, так сказать.Как уже говорилось, мы можем использовать при вводе кода в