callmeguaishu
2015-10-25 07:34
采纳率: 40%
浏览 2.3k
已采纳

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函数也不会跳出窗口。希望大神帮忙解答下。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • oyljerry 2015-10-25 13:50
    已采纳

    你要绑定对应的消息到这两个处理函数。不然消息不会触发你的函数

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • zuishikonghuan 2015-10-25 16:30

    虽然不会mfc,但是我觉得可能是这个原因:控件子类化了没,没子类化控件的窗口过程由系统管理,你能得到鼠标消息才是怪事

    评论
    解决 无用
    打赏 举报
  • callmeguaishu 2015-10-27 11:53

    噢噢噢,好像是这样,谢谢了啊

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题