лабки / еще какието лабки разных вариантов / Со_ЛР_18
.docxВаріант 7
Лабораторна робота 18
Тема роботи: робота зі списками під час програмування на C++
1. Створити список із множиною рядків у діалоговому вікні. Розміри вікна:
зробити такими, щоб усі рядки не помістилися у вікні списку. В результаті
праворуч від нього буде знаходитись смуга прокрутки. При подвійному
клацанні на одному з рядків його вміст повинен з'являтися в текстовому вікні.
Код для додавання тексту:
BOOL Clist1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_list1.AddString("Студент 01");
m_list1.AddString("Студент 02");
m_list1.AddString("Студент 03");
m_list1.AddString("Студент 04");
m_list1.AddString("Студент 05");
m_list1.AddString("Студент 06");
m_list1.AddString("Студент 07");
m_list1.AddString("Студент 08");
m_list1.AddString("Студент 09");
m_list1.AddString("Студент 10");
m_list1.AddString("Студент 11");
m_list1.AddString("Студент 12");
return TRUE;
}Код для обробника подвійних клацань:
void Clab18Dlg::OnLbnDblclkList1()
{
CString text;
m_list1.GetText(m_list1.GetCurSel(), text);
m_edit1.SetWindowTextW(text);
UpdateData(false);
}
Скріншот роботи програми
Блок схема:
2. Створити діалогове вікно. Розмістити в ньому комбіновані та текстові поля. Якщо клацнути на стрілці поряд із комбінованим полем, то в діалоговому вікні повинен розкритися список. Потрібно ініціалізувати цей список і запрограмувати так, щоб у випадку, якщо користувач вибирає один із рядків, він відображався в текстовому полі.
Код для додавання тексту:
BOOL CcomboDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_combo1.AddString("Студент 01");
m_combo1.AddString("Студент 02");
m_combo1.AddString("Студент 03");
m_combo1.AddString("Студент 04");
m_combo1.AddString("Студент 05");
m_combo1.AddString("Студент 06");
m_combo1.AddString("Студент 07");
m_combo1.AddString("Студент 08");
m_combo1.AddString("Студент 09");
m_combo1.AddString("Студент 10");
m_combo1.AddString("Студент 11");
m_combo1.AddString("Студент 12");
m_combo1.SetCurSel(0);
return TRUE;
}
Код для обробника клацаннь на комбінованому полі:
void CcomboDlg:: OnCbnSelchangeCombo1()
{
CString str;
m_combo1.GetLBText(m_combo1.GetCurSel(),str);
m_edit1.SetWindowTextA(str);
UpdateData(false);
}
Скріншот роботи програми
Блок схема:
3. Створити діалогове вікно. Розмістити в ньому бігунок, текстове поле і написи: «Перемістити бігунок» і «Положення бігунка» відповідно над бігунком і текстовим полем. Повзунок містить невеликий бігунок, який користувач переміщує уздовж шкали. Коли користувач перетягує бігунок мишкою, програма повинна виводити його нове положення за шкалою від 1 до 100 (крайнє ліве положення - 1, крайнє праве - 100).
Код для ініціалізації бігунка:
BOOL Cslider1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_slider1.SetRangeMin(1,false);
m_slider1.SetRangeMax(100,false);
m_edit1.SetWindowTextA("1");
// Add "About..." menu item to system menu.
return TRUE;
//return TRUE unless you set the focus to a
//control
}
Код для обробки повідомлень від бігунка.:
void Cslider1Dlg::OnHScroll(UINT nSBCode,
UINT nPos, CScrollBar* pScrollBar)
{
char s[5];
if(nSBCode==SB_THUMBPOSITION)
{
gcvt(nPos,3,s);
m_edit1.SetWindowTextA(s);
UpdateData(false);
}
else
// TODO: Добавьте свой код программы
// обработки сообщения здесь
CDialog::OnHScroll(nSBCode,nPos,pScrollBar);
}
Скріншот роботи програми
Блок схема:
Висновок:В ходi виконання лабораторної роботи я закріпив свої навички з предмету ООП