Добавляем Radio Button
1. Добавим Radio Button на диалоговое окно и запрограммируем
1) Переходим к диалоговому окну:
View ➡ Resource view ➡ Program ➡ Program.rc-Dialog ➡ IDD_Program_Dialog
2) Выдиляем и удаляем все объекты на диалоговом окне
3) Вбиваем наше окно в точку
4) Находим панель инструментов и добавляем на наше окно:
Х2 Radio Button
Х1 Group box ( В него с помощью курсора нужно поместить 2 Radio Button'a),чтоб получилось вот так:
5) называем наши копки: Ellipse i Kvadrat
6)Теперь выполняем:
ПКМ по Ellipse-Add ➡ Variable ➡ Variable name: <RD1> ➡ Еще раз ПКМ➡ Add Event Handler ➡ Add and Finish
Тоже самое проделываем с Kvadrat, но с исключением:
Variable name: <RD2>
1) Переходим в ProgramDlg.cpp и под строкой
void CProgramDlg::OnBnClickedRadio1()
Вставляем код:
{
// TODO: Add your control notification handler code here
RD1.SetCheck(1);
RD2.SetCheck(0);
CClientDC dc(this);
GetClientRect(&rc);
w.left = rc.left + 200;
w.right = rc.right - 150;
w.top = rc.top + 110;
w.bottom = rc.bottom - 50;
dc.FillSolidRect(&w, RGB(255, 255, 255));
x1 = w.left + 70;
y1 = w.top + 20;
x2 = w.right - 70;
y2 = w.bottom - 10;
cf = 0x0000DDFF;
ck = 0x00800000;
hPenOxy = CreatePen(PS_SOLID, 6, ck);
hOldPen = (HPEN)SelectObject(dc, hPenOxy);
m = CreateSolidBrush(cf);
oldm = (HBRUSH)dc.SelectObject(m);
//dc.Rectangle(x1, y1, x2, y2);
dc.Ellipse(x1, y1, x2, y2);
DeleteObject(m);
SelectObject(dc, oldm);
SelectObject(dc, hOldPen);
DeleteObject(hPenOxy);
}
7) Под строкой
void CProgramDlg::OnBnClickedRadio2()
Пишем:
{
// TODO: Add your control notification handler code here
RD1.SetCheck(0);
RD2.SetCheck(1);
CClientDC dc(this);
GetClientRect(&rc);
w.left = rc.left + 200;
w.right = rc.right - 150;
w.top = rc.top + 110;
w.bottom = rc.bottom - 50;
dc.FillSolidRect(&w, RGB(255, 255, 255));
x1 = w.left + 70;
y1 = w.top + 20;
x2 = w.right - 70;
y2 = w.bottom - 10;
cf = 0x0000DDFF;
ck = 0x00800000;
hPenOxy = CreatePen(PS_SOLID, 6, ck);
hOldPen = (HPEN)SelectObject(dc, hPenOxy);
m = CreateSolidBrush(cf);
oldm = (HBRUSH)dc.SelectObject(m);
dc.Rectangle(x1, y1, x2, y2);
//dc.Ellipse(x1, y1, x2, y2);
DeleteObject(m);
SelectObject(dc, oldm);
SelectObject(dc, hOldPen);
DeleteObject(hPenOxy);
}
Комментариев нет:
Отправить комментарий