none
view类中绘图 RRS feed

  • 问题

  • 在view类中添加变量m_ptOrigin ;

    并在OnLButtonDown中m_ptOrigin = point;

    然后在OnLButtonUp中绘直线,当双击窗口最大化时,鼠标左键松开是在view类窗口中,结果屏幕上多出了一条从m_ptOrigin到松开鼠标左键位置的直线,请问这个问题怎么解决?

    2012年10月20日 15:56

答案

  • 应该是有标记吧,WM_LBUTTONDOWN的时候设置标记,WM_LBUTTONUP的时候先判断标记,然后InvalidatRect,之后重置标记。

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2012年10月23日 7:50
    版主

全部回复

  • 新手学习过程中,肯求高手尽快指点,在线等待中……

    2012年10月21日 8:35
  • 跪求高手迅速给予帮助……
    2012年10月22日 2:47
  • 你是说你双击的第二下不是立马放下的,是把鼠标移到了控件内吗?

    Please not forget mark your answer, and unmark your disagreed point.

    2012年10月22日 10:31
  • 双击标题栏,窗口会最大化,但是因为窗口最大化的速度相当之快,导致松开鼠标的时候,鼠标位于View类窗口中呀,这时view类窗口会响应鼠标左键的消息,所以又画了一条直线呀,当然如果是画矩形或者是圆,也会一样,主要问题是view类响应了不该响应的消息,我不知道该怎么样屏蔽它

    2012年10月22日 11:53
  • 我是个入门级的学生,难道这个问题很难……

    2012年10月23日 5:40
  • 应该是有标记吧,WM_LBUTTONDOWN的时候设置标记,WM_LBUTTONUP的时候先判断标记,然后InvalidatRect,之后重置标记。

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2012年10月23日 7:50
    版主
  • 关于标记的做法,是在View类窗口中鼠标下时设置标记,然后在鼠标上时判断如果flag为真则绘图,否则将标记设为假是吗?但是如果不添加变量的前提下呢,没有办法解决吗(辟如使用SetCapture())?

    2012年10月23日 19:23