Object IDs:"IDC_START"->Messages:"BN_CLICKED"-> Add Function->Ok->Edit Code   и вызвать там механизм обмена данными с элементами управления и их проверки:   if (UpdateData(TRUE))   {         ">View->ClassWizard->Message Maps->ClassName:"CDFPDialog"-> 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

View->ClassWizard->Message Maps->ClassName:"CDFPDialog"->

Поиск

View->ClassWizard->Message Maps->ClassName:"CDFPDialog"->

Object IDs:"IDC_START"->Messages:"BN_CLICKED"->

Add Function->Ok->Edit Code

 

и вызвать там механизм обмена данными с элементами управления и их проверки:

 

if (UpdateData(TRUE))  

{

         ::AfxMessageBox("Решаю"); //Для отладки

    //Здесь вы разместите запуск рабочего потока решателя

}

 

Вы можете теперь убедиться, что при нажатии кнопки Пуск окошко с сообщением "Решаю" выскакивает только при условии, что все данные введены корректно. Иначе выдается сообщение об ошибке ввода и фокус возвращается в элемент управления, требующий корректировки.

 

Аналогичный обработчик создаем для кнопки Stop – он предназначен для остановки решателя, как это делалось клавишей <ESC> в решателе задачи из файла.

 

MFC обеспечивает набор классов, которые могут использоваться для взаимодействия со стандартными элементами управления Windows. Сюда относятся кнопки различных видов (CButton), статический текст (CStatic), поле редактирования текста (CEdit), полосы прокрутки (CScrollBar), список (CListBox), комбинированный блок, состоящий из списка и поля редактироваия (CComboBox) и др.

 

В последней таблице большинству элементов управления были назначены переменные со свойством "Value", однако, для некоторых использовалось "Control". Назначение "Control" дает прямой доступ к элементу управления, вводя в класс переменную-объект одного из стандартных классов MFC, предназначенных для элементов управления, таких как CButton или CListBox. В этом случае вы получаете доступ к элементу управления через интерфейс соответствующего класса.

 

Заметим, что доступ к объекту MFC, отвечающему нужному элементу управления в принципе можно получить и с помощью функции

 

CWnd* GetDlgItem ( int nID ) const

 

которая возвращает указатель на объект элемента управления (или дочернего окна), имеющего указанный ID. Однако пользоваться данной функцией следует осторожно, т.к. в случае отсутствия у данного элемента управления (как объекта Win32) ассоциированного объекта MFC, ему сопоставляется временный объект MFC, которыйможет перестать существовать через некоторое время.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 52; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)