Обробка файлів засобами MFC. Серіалізація нестандартних об’єктів. Створення та редагування ресурсів меню, страница 5

Resource View -> Dialog->IDD_FLAGS_DIALOG Из Toolbox разместить в окне три флажка Check Box  и текстовое окно ab| Edit Control.

Свяжем флажки с кодом программы: Создадим обработчик события для каждого флажка. (выделить флажок-> контекстное меню -> Add Event Handler:  тип сообщения->BN_CLICKED  а в списке классов – CflagsDlg. В файле flagsDlg.cpp появится заготовка для функции.

В класс CflagsDlg необходимо добавить элемент данных private CEdit m_edit1.

Заполним заготовки обработчиков.

void CflagsDlg::OnBnClickedCheck1(){

                   CString str="Прапорець №1";

                   m_edit1.SetWindowTextA(str);

                   }

void CflagsDlg::OnBnClickedCheck2(){

CString str="Прапорець №2";

                   m_edit1.SetWindowTextA(str);

}

void CflagsDlg::OnBnClickedCheck3(){

CString str="Прапорець №3";

                   m_edit1.SetWindowTextA(str);

}

Во всех трех обработчиках используется локальная переменная CString str, которая инициализируется определенным текстом и затем выводится в текстовое окно.

9.  Створення та використання перемикачів 

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

Start Page. Create:Project.
Name- switches. Application Type-> Dialog based

Resource View-> Dialog-> IDD_SWITCHES _DIALOG Из Toolbox разместим в окне три переключателя Radio Button и текстовое окно ab| Edit Control. Свяжем  переключатели с кодом программы. Надо создать обработчик события для каждого переключателя. Для этого следует выделить переключатель->контекстное меню->Add Event Handler(тип сообщения BN_CLICKED  а в списке классов – CswitchesDlg)->Add and Edit.В файле switchesDlg.cpp появится заготовка для функции. В класс CswitchesDlg добавим элемент данных private CEdit m_edit1

Заполним заготовки обработчиков.

void CswitchesDlg::OnBnClickedRadio1(){

                   CString str="Перемикач №1";

                   m_edit1.SetWindowTextA(str);

}

void CswitchesDlg::OnBnClickedRadio2(){

                   CString str="Перемикач №2";

                   m_edit1.SetWindowTextA(str);

}

void CswitchesDlg::OnBnClickedRadio3(){

                   CString str="Перемикач №3";

                   m_edit1.SetWindowTextA(str);

}

Во всех трех обработчиках используется локальная переменная CString str, которая инициализируется определенным текстом и затем выводится в текстовое окно.

10.  Серіалізація стандартних об’єктів   при роботі з МFC:

Сериализация – процесс записи на диск или чтения из него. Обработчики для пунктов меню File ->Open, File-> Save, File-> Save As предполагают, что будет сериализация документов и уже содержат код, необходимый для её поддержки. Конкретно используются член- функция Serialize() , два макроса и пустой конструктор для документа.

Create project : serstandart,  MFC, MFC Application.

2) В класс CserstandartDoc  добавим элемент данных  public:  CString  str

3) Строку символов str нужно вводить с клавиатуры. Для этого необходимо создать обработчик события – ввода символа. Для этого выделим класс CserstandartView-> контекстном меню -> properties->Messages-> WM_CHAR-> Add OnChar(). В результате мастер создаст обработчик

В нем нужно обеспечим ввод с клавиатуры строки символов str  класса CserstandartDoc.

void CserstandartView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)

{

                   CserstandartDoc*pDoc=GetDocument();

                   ASSERT_VALID(pDoc);

                   pDoc->str+=(char)nChar;//посимвольное заполнение строки

                   Invalidate();//объявляет существующий вид недействительным