C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 4. Добавляем диалоговое окно / Уроки C++ .NET / Visual C++ .NET

Visual C++.NET
Урок 4. Добавляем диалоговое окно

В этом уроке мы создадим диалоговое окно с одним edit'ом. Это диалоговое окно будет появляться при щелчке на добавленном в прошлом уроке меню и пользователь сможет задать в этом edit'е некоторое число, которое будет передаваться в основное окно нашей программы. При повторном вызове этого диалогового окна в edit'е уже будет автоматически находится введенная ранее пользователем значение, т. е. данные будут передаветься и из диалогового окна, и в него.

Для начала создадим диалоговое окно. Для этого заходим в меню Project, в котором выбираем Add Resource:

Добавление диалогового окна

В появившемся окне Add Resource выбираем, естественно, пункт Dialog и нажимаем на кнопку New. Появится заготовка для нашего диалогового окна. Двойным щелчком перенесите в него edit с панели Toolbox:

Добавление edit'а

Сохраните вашу работу, нажав на кнопку Save All. Теперь мы должны на основе нашего диалогового окна создать класс. Для этого щелкаем на созданном диалоге правой кнопкой мыши и выбираем пункт Add Class. В появившемся диалоговом окне MFC Class Wizard задайте имя класса как COptionsDlg и в качестве родительского класса выберите CDialog:

Диалоговое окно MFC Class Wizard

Нажмите на кнопку Finish.

Теперь надо задать две одинаковые переменные - одну в классе диалогового окна COptionsDgl, другую - в классе вида CfirstView. Пусть эти переменные для определенности называются m_nSize. Тип у них будет int. Для задания переменной в классе CfirstView просто щелкните на нем правой кнопкой мыши на вкладке ClassView, выберите в контекстном меню Add и далее Add Variable:

Добавление переменой

В появившемся окне Add Member Variable Wizard задайте тип переменой как int и имя как m_nSize:

Окно Add Member Variable Wizard

Нажмите на кнопку Finish.

Теперь добавим переменную в класс COptionsDlg. Делаем это точно также, как и для предыдущего класса, только на этот раз мы хотим приписать нашу переменную к edit'у, а поэтому в диалоговом окне Add Member Variable Wizard поставьте галочку Control Variable, в качестве идентификатора элемента управления выберите IDC_EDIT1, в качестве категории - Value, тип и имя переменной задайте как и для предыдущего класса - int и m_nSize:

Окно Add Member Variable Wizard

Нажмите на Finish.

Теперь приступаем к коду. Измените созданный в прошлом уроке обработчик меню следующим образом:

void CfirstView::OnToolsOptions()
{
    // TODO: Add your command handler code here
    COptionsDlg dlg;//Создаем экземпляр диалога
    dlg.m_nSize=m_nSize;//Читаем данные в диалог
    if(dlg.DoModal()!=IDOK) return; //выходим по cancel
    m_nSize=dlg.m_nSize;//Читаем данные из диалога
    Invalidate();//перерисовываем главное окно
}

Кроме того, нам надо добавить в начало файла firstView.cpp строчку

...
#include "OptionsDgl.h"
...

Это мы делаем потому, что класс COptionsDlg используем в этом файле, и компилятор должен наш класс видеть.

Запустите программу (Ctrl+F5). При выборе нашего пункта меню будет появлятся диалоговое окно и, кроме того, введенное нами значение будет сохраняться при повторных вызовах нашего диалога.