Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Класс CaktDobDlg



1) Создание ресурса диалогового окна с идентификатором IDD_AKTDOBDLG.

Создать форму диалогового окна добавления записей файла Акт (рис. 10.5).

Акты-Добавление
Таб. номер Вид работы _ Разряд Объем _ OK Cancel

Рис. 10.5. Диалоговое окно добавления записей файла Акт

- Создать шаблон диалогового окна.

Для этого выполнить команду Project-> Add Resource и в появившемся окне Add Resource дважды щелкнуть на элементе Dialog в списке Resource Type. Появляется шаблон диалогового окна с идентификатором IDD_DIALOG1 и заголовком Dialog, а также панели инструментов Dialog Editor и Toolbox. В окне имеются две кнопки OK и Cancel. Отмасштабировать окно.

- В окне свойств окна Properties изменить значение свойства ID с IDD_DIALOG1 на IDD_AKTDOBDLG, а также – значение свойства Caption с Dialog на Акты - Добавление.

- Установить язык Русский.

Для этого в окне Resource View щелкнуть на идентификаторе IDD_AKTDOBDLG. В появившемся окне свойств Properties щелкнуть на свойстве Language и в списке выбрать язык Русский.

- Добавить в диалоговое окно элементы управления

Добавить четыре надписи (инструмент Static Text), четыре текстовых поля (Edit Control) и две кнопки. Щелкнуть сначала на инструменте панели инструментов Toolbox, а затем - в выбранной области диалогового окна.

Для изменения свойств элементов щелкнуть на элементе и в окне свойств Properties ввести значения: для надписей только в свойство Caption – Таб. Номер, Разряд, Вид работы, Объем; для текстовых полей в свойство ID – IDC_TABN, IDC_RAZRJAD, IDC_VIDRAB, IDC_OBJEM; для кнопки OK в свойство ID – IDC_AKTDOB и в поле Caption - OK; для кнопки Cancel – IDOK.

2) Создание класса диалогового окна.

- Открыть шаблон диалогового окна при отсутствии его. Для этого щелкнуть на вкладке Resource View или выполнить команду View->Resource View и в появившемся окне Resource View открыть папки Pr, Pr.rc, затем – Dialog и дважды щелкнуть на идентификаторе IDD_AKTDOBDLG.

- Щелкнуть правой кнопкой мыши на пустом месте диалогового окна и выполнить команду контекстного меню Add Class. Откроется окно мастера MFC Class Wizard.

- Ввести в поле Class name имя нового класса CAktDobDlg, в списке Base class выбрать имя CDialog, проверить наличие в свойстве Dialog ID идентификатора IDD_AKTDOBDLG, и затем щелкнуть на кнопке Finish.

3) Связывание элементов управления диалогового окна с

функциями-обработчиками сообщений

Связать кнопку OK.

- Открыть окно Class View и щелкнуть на имени класса CAktDobDlg. Появится окно свойств Properties.

- Щелкнуть на кнопке Events (События) и в появившемся списке идентификаторов раскрыть идентификатор IDC_AKTDOB (щелкнуть на символе +). Появляется список сообщений

- Выбрать элемент BN_CLICKED, а в комбинированном списке справа щелкнуть на команде <Add> OnBnClickedAktdob(). Прототип новой функции-обработчика будет добавлен в файл AktDobDlg.h, а ее текст – в файл AktDobDlg.cpp.

- Аналогично связать кнопку Cancel (IDOK) с функцией-обработчиком OnBnClickedOk().

4) Связывание переменных класса с элементами окна

Связать с текстовым полем Таб. номер.

- Запустить мастер создания переменных класса Add Member Variable Wizard. Для этого открыть окно Class View и выделить имя класса CAktDobDlg. Затем либо выполнить команду Project->Add Variable, либо щелкнуть правой кнопкой мыши на имени класса и выполнить команду контекстного меню Add->Add Variable. А можно также еще открыть диалоговое окно, щелкнуть правой кнопкой мыши на пустом месте окна и выполнить команду контекстного меню Add Variable.

- В появившемся окне Add Member Variable Wizard-Pr выполнить следующее: установить флажок Control variable; в списке Control ID выбрать идентификатор текстового поля IDC_TABN; в списке Category выбрать значение value; в списке Variable type появится CString; ввести в поле Variable name строку m_strTabn; в списке Access проверить наличие элемента public; и наконец, щелкнуть на кнопке Finish. Появляется содержимое файла AktDobDlg.cpp с функциями класса AktDobDlg.

- Аналогично связать с текстовыми полями Разряд (IDC_ RAZRJAD), Вид работы (IDC_VIDRAB), Объем (IDC_OBJEM) переменные класса m_strRazrjad, m_strVidrab, m_strObjem.

5) Добавление текстов функций-обработчиков в файлы AktDobDlg.h и AktDobDlg.cpp.

- В файл AktDobDlg.h:

#include “Akt.h”

...

class CAktDobDlg: public CDialog

{

public:

CAkt base;// объявление объекта класса CAkt в классе CActDobDlg

BOOL CheckInput ();//ввод в текст. поля и проверка ввода

void ClearForm ();//очистка формы документа

void Input(CAkt& base);//ввод данных из текст. полей в запись

- В файл AktDobDlg.cpp:

...

m_strObjem=(_T(“”));

{

base.Init();//вызов ф-ии Init класса CAkt

} //в конструкторе класса CAktDobDlg

...

void CAktDobDlg::OnBnClickedAktdob()

{

if (CheckInput())();//ввод в текст. поля и проверка ввода

{

Input(base);//ввод данных из текст. полей в запись

base.Sozdanie();//запись в файл и коррект. инд. массива

ClearForm();//очистка формы документа

}

}

void CAktDobDlg::Input(CAkt &base));//ввод из текст. полей

{ // в запись

UpdateData(TRUE); //значения текст. полей – в перем. m_str

base.Tabn=m_strTabn;//значения перм. m_str – в запись

base.Razrjad=m_strRazrjad;//т.е. в переменные класса CAkt

base.VidRab=m_strVidrab;

base.Objem=m_strObjem;

}

void CAktDobDlg::ClearForm()//очистка формы документа

{

m_strTabn=""; //обнуление переменныз m_str…

m_strRazrjad="";

m_strVidrab="";

m_strObjem="";

UpdateData(FALSE); //значения m_str… - в текст. поля

}

BOOL CAktDobDlg::CheckInput()//проверка ввода

{

UpdateData(TRUE); //значения текст. полей – в перем. m_str

if(m_strTabn=="")

{

MessageBox("Введите Таб. номер", "Ошибка ввода",

MB_ICONEXCLAMATION);// ",//сообщение, заголовок

return FALSE; // восклицат. знак

}

if (m_strRazrjad=="")

{

MessageBox("Введите Разряд","Ошибка ввода",

MB_ICONEXCLAMATION);

return FALSE;

}

if (m_strVidrab=="")

{

MessageBox("Введите Вид работы","Ошибка ввода",

MB_ICONEXCLAMATION);

return FALSE;

}

if (m_strObjem=="")

{

MessageBox("Введите Объем","Ошибка ввода",//сообщение,

MB_ICONEXCLAMATION); //заголовок, восклицат. знак

return FALSE;

}

return TRUE;

}

void CAktDobDlg::OnBnClickedOk()

{

OnOk();

}

6) Добавление в файл MainFrm.cpp файл заголовков и текст функции вызова диалогового окна.

#include “AktDobDlg.h”

void OnAktsozd()

{

CAktDobDlg dlg;

..dlg.DoModal(); //вывод диалогового окна

}

7) Компиляция и запуск приложения.

Протестировать команду Создание меню Акты БД.





Дата публикования: 2014-11-26; Прочитано: 223 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...