`
Читать книги » Книги » Разная литература » Газеты и журналы » Интернет-журнал "Домашняя лаборатория", 2007 №1 - Цыбанова

Интернет-журнал "Домашняя лаборатория", 2007 №1 - Цыбанова

Перейти на страницу:
выберете в закладке Member Varible идентификатор IDC_VISIBLE_CHECK и нажмем на кнопку Add Varible. Зададим название переменной — m_VisibleCheck.

Вы закончили связывание переменных с окном редактирования и флажками

Связывание событий с элементами управления

Код, инициализирующий окно редактирования

• При запуске программы, основанную на диалоге, вам нужно установить определенные значения некоторых элементов управления. Вам необходимо, чтобы флажки Visible и Enable были отмечены, иначе окна редактирования не будет видно. Для этого выполните следующие действия:

• Зайдите в View->ClassWizard,откройте закладку Message Maps.

• В Message IDs выберете CTestDIg, в Messages появится список событий, с которыми может быть связано диалоговое окно. Выберете там событие WM_INITDIALOG. Оно происходит, когда запускается программа и инициализируется диалоговое окно.

• Щелкнете на кнопку Add Function, а затем нажмите на кнопку Edit Code, для редактирования исходного кода.

Функция OnlnitDialog() уже содержит часть кода написанного VC++. Найдите в нем коментарий //TODO: Add extra initialization here, который сообщает нам, что после него мы можем добавить свой код.

Напишите следующий код в функции OnlnitDialog():

BOOL CTestDIg::OnInitDialog()

{

CDialog::OnInitDialog();

// TODO: Add extra initialization here

//Добавьте свою инициализацию

////////Мой код начинается здесь///////////

//Установить переменную флажка VisibleCheck и EnabledCheck в состояние

//TRUE

m_VisibieCheck=TRUE;

m_EnabieCheck=TRUE;

//Обновить экран UpdateData(FALSE);

////////Мой код заканчивается здесь///////////

return TRUE; // Вернуть TRUE, если только вы не установили фокус на элемент управления

}

• Рассмотрим код:

• Первый и второй операторы, который которые вы ввели присваивают переменным m_VisibleCheck и m_EnableCheck значение TRUE. Это означает, что при запуске программы флажки будут отмечены.

• Последний оператор UpdateData(FALSE) обновляет экран, т. е. он обновляет значения переменных элементов управления на текущие. В нашем случае, при выполнении этого оператора текущие содержимое переменных связанных с флажками будет передано к ним.

• Теперь для того, чтобы посмотреть инициализирующий код в действии выполните программу.

Главное окно вашей программы должно будет выглядеть так:

Флажки должны быть отмечены.

Связывание кода с событием BN_CLICKED кнопки Exit

При нажатии на кнопку Exit программа Test.Exe завершится.

Чтобы связать код с событием BN_CLICKED кнопки EXIT, выполните следующие действия:

• Выберете ClassWizard в меню View

• Выберете закладку Message Maps в панели ClassWizard

• Используйте диалоговую панель ClassWizard для выбора следующего события:

Class Name: CTestDIg

Object ID: IDC_EXIT_BUTTON

Messages: BN_CLICKED

• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.

• Сейчас ваша панель MFC ClassWizard должна будет выглядеть так:

• Нажмите кнопку Edit Code и напишите следующий код в функции OnExitButton():

void CTestDig "OnExitButton ()

{

// TODO: Add your control notification handler code here

////////Мой код начинается здесь///////////

ОnОК();

////////Мой код заканчивается здесь///////////

}

• Функция ОnОК(), которую вы ввели завершает программу, при нажатии на кнопку Exit.

Связывание кода с событием BN_CLICKED кнопки Test

При нажатии на кнопку Test программа Test.Exe в окне редактирования напишет текст: This is a Test

Чтобы связать код с событием BN_CLICKED кнопки Test, выполните следующие действия:

• Выберете ClassWizard в меню View

• Выберете закладку Message Maps в панели ClassWizard

• Используйте диалоговую панель ClassWizard для выбора следующего события:

Class Name: CTestDIg

Object ID: IDC_TEST_BUTTON

Messages: BN_CLICKED

• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.

• Нажмите кнопку Edit Code и напишите следующий код в функции OnTestButton():

void CTestDig::OnTestButton()

{

// TODO: Add your control notification handier code here

////////Мой код начинается здесь///////////

///Присвоить переменной окна редактирования IDC_ TEST_EDITзначение This is a Test.

m_TestEdit="This is a Test";

//// Обновить экран UpdateData(FALSE);

////////Мой код заканчивается здесь///////////

}

• Код, который вы ввели содержит два оператора:

• Первый присваивает переменной m_TestEdit типа CString значение This is a Test.

• А второй оператор UpdateData(FALSE); обновляет экран, т. е. сообщает переменным диалогового окна текущие их значения.

Связывание кода с событием BN_CLICKED кнопки Clear

При нажатии на кнопку Clear программа Test.Exe должна стирать текст из окна редактирования.

• Чтобы связать код с событием BN_CLICKED кнопки Clear, выполните следующие действия:

• Выбирете ClassWizard в меню View

• Выберете закладку Message Maps в панели ClassWizard

• Используйте диалоговую панель ClassWizard для выбора следующего события:

Class Name: CTestDIg

Object ID: IDC_CLEAR_BUTTON

Messages: BN_CLICKED

• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.

• Нажмите кнопку Edit Code и напишите следующий код в функции OnClearButton():

void CTestDIg::OndearButton()

{

// TODO: Add your control notification handier code here

////////Мой код начинается здесь///////////

///Присвоить переменной окна редактирования IDC_ TEST_EDIT значение NULL.

m_TestEdit=" ";

//// Обновить экран

UpdateData(FALSE);

////////Мой код заканчивается здесь///////////

}

• Код, который вы ввели содержит два оператора:

• Первый присваивает переменной m_TestEdit типа CString значение NULL, т. е. окно редактирования не будет содержать никакого текста.

• А второй оператор UpdateData(FALSE); обновляет экран, т. е. сообщает переменным диалогового окна текущие их значения. При выполнении этого оператора весь текст из окна редактирования удалится.

• Теперь сохраните свою работу, выбрав Save All в меню File.

• Чтобы увидеть в действии код программы выполните и запустите ее.

• Напишите что-нибудь в окне редактирования.

• Щелкните на кнопку Clear, вы видите что текст стирается.

• Теперь нажмите на кнопку Test в окне редактирования появится текст This is a Test.

• Если все это выполняется, значит вы совершенно правильно связали события с кнопками Test и Clear.

Связывание кода с событием BN_CLICKED флажка Visible

При включении флажка Visible программа Test.Exe должна сделать окно редактирования невидимым, а при выключении — наоборот.

• Чтобы связать код с событием BN_CLICKED флажка Visible, выполните следующие действия:

• Выберете ClassWizard в меню View

• Выберете закладку Message Maps в панели ClassWizard

• Используйте диалоговую панель ClassWizard для выбора следующего события:

Class Name: CTestDIg

Object ID: IDC_VISIBLE_CHECK

Messages: BN_CLICKED

• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.

Нажмите кнопку Edit Code и напишите следующий код в функции OnVisibleButton():

void CTestDIg::OnVsibieCheck()

{

// TODO: Add your control notification handler code here

////////Мой код начинается здесь///////////

////Обновить значения переменных элементов управления,

////(содержимое экрана передается переменным элементов управления) UpdateData(TRUE);

///Если

Перейти на страницу:

Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Интернет-журнал "Домашняя лаборатория", 2007 №1 - Цыбанова, относящееся к жанру Газеты и журналы / Сделай сам / Хобби и ремесла. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

Комментарии (0)