Я пытаюсь создать приложение рисования, в котором я использую меню, чтобы показать формы, которые я могу нарисовать, и я добавил некоторые фигуры, такие как линия, прямоугольник, круг, но я не могу использовать функцию OnLButtonDown в линии Функция, поэтому я хотел бы знать, как я могу создать линию между двумя щелчками, не используя функцию LButtonDown и любым другим способом, которым я могу создать линию, когда пользователь нажимает на меню, мой образец кода вставлен ниже:
#include<afxwin.h>
#include"resource.h"
class myframe:public CFrameWnd
{
public:
myframe()
{
Create(0,"simple",WS_OVERLAPPEDWINDOW,rectDefault,0,MAKEINTRESOURCE(IDR_MENU1));
}
void shape(int id)
{
CClientDC d(this);
CPen p;
p.CreatePen(PS_SOLID,1,RGB(255,0,0));
d.SelectObject(&p);
switch(id)
{
case 101:
d.MoveTo(100,100);
d.LineTo(200,200);
break;
case 102:
d.Rectangle(10,10,100,200);
break;
case 103:
d.Ellipse(20,20,100,100);
break;
}
}
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(myframe,CFrameWnd)
ON_COMMAND_RANGE(101,103,shape)
END_MESSAGE_MAP()
class myapp:public CWinApp
{
public:
int InitInstance()
{
myframe *f;
f=new myframe();
f->ShowWindow(3);
m_pMainWnd=f;
return 1;
}
};
myapp a;