问题描述
- MFC基于对话框模式下使用鼠标在Text Control控件中画图
-
想在MFC对话框的Text Control控件窗口中用鼠标画图,但是没有反应。我是自己添加了OnLButtonDown和OnLButtonUp函数。
void CKdu_CompressDlg::OnLButtonDown(UINT nFlags,CPoint point)
{
CWnd *pWnd=GetDlgItem(IDC_STATIC_IMG);
HWND hwnd=pWnd->GetSafeHwnd();m_ptOrigin=point; CKdu_CompressDlg::OnLButtonDown(nFlags,point);
}
和
void CKdu_CompressDlg::OnLButtonUp(UINT nFlags,CPoint point)
{
CWnd *pWnd=GetDlgItem(IDC_STATIC_IMG);
HWND hwnd=pWnd->GetSafeHwnd();m_ptEnd=point; CKdu_CompressDlg::OnLButtonUp(nFlags,point);
}
我理解是先获得该空间的句柄,然后定义两个CPoint类的全局变量m_ptOrigin、m_ptEnd;分别用来获得鼠标点下和松开时的坐标,然后再利用这两个值画图,但是没有反应。而且调试的时候发现鼠标点击时没有跳到这两个函数,监控值发现两个全局变量都是(0,0)没变化,在函数里加MessageBox函数也不会跳出窗口。希望大神帮忙解答下。
解决方案
你要绑定对应的消息到这两个处理函数。不然消息不会触发你的函数
解决方案二:
MFC对话框使用标签页控件
MFC中滑块控件(Slide Control)的使用
解决方案三:
虽然不会mfc,但是我觉得可能是这个原因:控件子类化了没,没子类化控件的窗口过程由系统管理,你能得到鼠标消息才是怪事
解决方案四:
噢噢噢,好像是这样,谢谢了啊
时间: 2024-10-24 17:57:53