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

                                           CDialog::OnHScroll(nSBCode, nPos, pScrollBar);

}

6.  Робота із списками при роботі з МFC:

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

Resource View-> Dialog -> IDD_LIST1 _DIALOG. В диалоговом окне из Toolbox разместить управляющие элементы: List Box (список) и ab| Edit Control (текстовое окно).

В класс Clist1Dlg добавим элементы данных , private CListBox m_list1. Для текстового окна private  CEdit m_edit1.

Добавить в список строки, из которых предстоит выбирать пользователю. Инициализация данных диалогового окна выполняется в методе OnInitDialog() класса Clist1Dlg. В этом методе мы должны заполнить список строками. При этом воспользуемся методом AddString() класса CListBox.

 BOOL Clist1Dlg::OnInitDialog() {

CDialog::OnInitDialog();

                   m_list1.AddString("Студент 01");

                   m_list1.AddString("Студент 02");

                   m_list1.AddString("Студент 03");

                   return TRUE;  }

Теперь создадим обработчик двойных щелчков. По условию на выбранной строке нужно дважды щелкнуть левой кнопкой мышки. При этом строка отобразится в текстовом окне.Поскольку выделение строки происходит в списке, выделим его окно ->контекстное меню->properties->Control Events->LBN_DBLCLK-><Add>OnLbnDblclkList1. В результате в файле list1.cpp появится заготовка для обработчика двойных щелчков в списке.

 void Clist1Dlg::OnLbnDblclkList1()

{

                   CString text;

                   m_list1.GetText(m_list1.GetCurSel(),text);// копирует строку списка в буфер

m_edit1.SetWindowTextA(text);// выводит содержимое text в текстовое окно

                   UpdateData(false);// false означает ввод в окно.

}

функция GetCurSel()класса CListBox получает индекс выбранной строки

7.  Робота із комбінованими полями при роботі з МFC:

Start Page. Create:Project.

Name-combo Application Type -> Dialog based

Resource View-> Dialog-> IDD_COMBO_DIALOG. В диалоговом окне из Toolbox разместить управляющие элементы: Combo Box(комбинированное поле) и ab| Edit Control (текстовое окно).

В класс CcomboDlg добавим элементы данных private CcomboBox m_combo1. Для текстового окна  private  CEdit m_edit1.

Инициализируем комбинированное поле.Она выполняется в методе OnInitDialog()  класса CcomboDlg. Для занесения строк воспользуемся методом AddString() класса CComboBox.

 BOOL CcomboDlg::OnInitDialog()

{

                   CDialog::OnInitDialog();

                   m_combo1.AddString("Студент 01");

                   m_combo1.AddString("Студент 02");

                   m_combo1.AddString("Студент 03");

                   m_combo1.SetCurSel(0);

                   return TRUE; 

}

                   В конце инициализации запрограммирован вывод в комбинированное поле первой строки при первом появлении этого поля на экране. При щелчке на комбинированном поле появляется сообщение.Создадим функцию-обработчик этого события. Поскольку выделение строки происходит в списке, выделим его окно-> контекстное меню->properties->Control Events->CBN_SELCHANGE-> <Add>OnCbnSelchangeCombo1 В файле comboDlg.cpp появится заготовка для обработчика выбора строки в списке:

void CcomboDlg::OnCbnSelchangeCombo1()

{

                   CString str;

                   m_combo1.GetLBText(m_combo1.GetCurSel(),str);// копирует строку списка в буфер

                   m_edit1.SetWindowTextA(str);// выводит содержимое str в текстовое окно

                   UpdateData(false); // false  означает ввод в окно

}

8.  Створення та використання прапорців

Флажки позволяют выбрать один или несколько вариантов из предложенного списка.

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