ZKX's LAB

如何在c++ mfc的基于对话框中画填充矩形 mfc画圆角矩形框

2021-04-06知识15

如何在c++ mfc的基于对话框中画填充矩形 首先,打开IDE,本人用的是VS2005(英文版),然后点file,new一个project,选Visual C++目录下面的MFC,然后选中旁边Templates里的MFC Application,再在下面的name栏里给你的工程取个名字,比如叫Test,最后点OK。进入下一界面后会有一些关于当前工程的设置,在Application type中选dialog based,直接finish.这样一个基于对话框的MFC简单工程就建成了。然后再TestDlg.cpp里找到void CtestDlg:OnPaint(),在else里的CDialog:OnPaint();后面写CClientDC dc(this);选定当前画图环境CPen pen(PS_SOLID,1,#ff0000);做一支红色粗细为1的笔dc.SelectObject(&pen);将pen放到dc上dc.Rectangle(100,100,200,200);画一个矩形完成!

MFC中如何让button在指定的有填充色的矩形框内随鼠标移动且时时可见,且button颜色和矩形框的填充色一致? 添加新的控件,继承自CButton,命名为CMyButton,相应WM_MOUSEMOVE和WM_LBUTTONDOWN函数,在WM_LBUTTONDOWN时候发送自定义消息给父窗口。在Dialog里拖一个CButton,并且定义变量m_btn,改名为CMyButton m_btn,Dialog响应自定义消息,在函数里对m_btn作MoveWindow。CMyButton.cpp/include\"stdafx.hinclude\"temp2.hinclude\"MyButton.hIMPLEMENT_DYNAMIC(CMyButton,CButton)CMyButton:CMyButton(){}CMyButton:~CMyButton(){}BEGIN_MESSAGE_MAP(CMyButton,CButton)ON_WM_LBUTTONDOWN()ON_WM_MOUSEMOVE()END_MESSAGE_MAP()bool begin=false;CPoint g_point;void CMyButton:OnLButtonDown(UINT nFlags,CPoint point){begin=true;GetCursorPos(&g_point);ScreenToClient(&g_point);}void CMyButton:OnMouseMove(UINT nFlags,CPoint point){if(nFlags&MK_LBUTTON&begin=true){PostMessage(GetParent()->;m_hWnd,WM_SELF,g_point.x,g_point.y);}}CMyButton.h/pragma oncedefine WM_SELF WM_USER+1234class CMyButton:public CButton{DECLARE_DYNAMIC(CMyButton)public:CMyButton();virtual~CMyButton();protected:DECLARE_MESSAGE_MAP()afx_msg void 。

MFC能自己画文本框吗 只有你想不到的,没有你做不到的~使用LineTo等绘制函数肯定可以做出你想要的功能的,我知道MoveTo,和LineTo等函数可以画出一个框框~查查MSDN的CDC的成员函数吧。。

#mfc画圆角矩形框

随机阅读

qrcode
访问手机版