лабки / еще какието лабки разных вариантов / Звіт_лиз_18
.docxВаріант 5
Лабораторна робота 18
№1.
Створити список із множиною рядків у діалоговому вікні. Розміри вікна зробити такими, щоб усі рядки не помістилися у вікні списку. В результаті праворуч від нього буде знаходитись смуга прокрутки. При подвійному клацанні на одному з рядків його вміст повинен з'являтися в текстовому вікні. Код:
CDialogEx::OnInitDialog();
CString str;
for (int i = 1; i < 13; i++)
{
if (i < 10) str.Format(_T("Студент 0%d"), i);
else str.Format(_T("Студент %d"), i);
m_list1.AddString(str);
}
void Clist1Dlg::OnLbnDblclkList1()
{
CString text;
m_list1.GetText(m_list1.GetCurSel(), text);
m_edit1.SetWindowTextW(text);
UpdateData(false);
// TODO: добавьте свой код обработчика уведомлений
}
№2.
Створити діалогове вікно. Розмістити в ньому комбіновані та текстові поля. Якщо клацнути на стрілці поряд із комбінованим полем, то в діалоговому вікні повинен розкритися список. Потрібно ініціалізувати цей список і запрограмувати так, щоб у випадку, якщо користувач вибирає один із рядків, він відображався в текстовому полі. Код:
CDialogEx::OnInitDialog();
CString str;
for (int i = 1; i < 13; i++)
{
if (i < 10) str.Format(_T("Студент 0%d"), i);
else str.Format(_T("Студент %d"), i);
m_combo1.AddString(str);
}
m_combo1.SetCurSel(0);
void CcomboDlg::OnCbnSelchangeCombo1()
{
CString str;
m_combo1.GetLBText(m_combo1.GetCurSel(), str);
m_edit1.SetWindowTextW(str);
UpdateData(false);
// TODO: добавьте свой код обработчика уведомлений
}
№3.
Створити діалогове вікно. Розмістити в ньому бігунок, текстове поле і написи: «Перемістити бігунок» і «Положення бігунка» відповідно над бігунком і текстовим полем. Повзунок містить невеликий бігунок, який користувач переміщує уздовж шкали. Коли користувач перетягує бігунок мишкою, програма повинна виводити його нове положення за шкалою від 1 до 100 (крайнє ліве положення - 1, крайнє праве - 100). Код:
CDialogEx::OnInitDialog();
m_slider1.SetRangeMin(1, false);
m_slider1.SetRangeMax(100, false);
m_edit1.SetWindowTextA("1"); 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: добавьте свой код обработчика сообщений или вызов стандартного
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}
Висновок: На лабораторній роботі №18 ми розробили три діалогових вікна. У першому ми вивчили роботу cписку, у якому при подвійному кліку на рядок цей рядок виводиться у текстовому вікні. У другому – роботу комбінованих полів. У третьому – роботу бігунку.