首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC中OnLButtonDown(.)调用解决办法

2012-06-29 
MFC中OnLButtonDown(...)调用void CStreamWnd::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add y

MFC中OnLButtonDown(...)调用
void CStreamWnd::OnLButtonDown(UINT nFlags, CPoint point) 
{

// TODO: Add your message handler code here and/or call default

CDialog::OnLButtonDown(nFlags, point);
.......
}
我想在屏幕这个区域(385, 269, 385+305, 269+230)调用OnLButtonDown函数,请问参数改怎么写?

[解决办法]
判断鼠标的位置,转换为客户区坐标
[解决办法]
根据point判断是否在这个区域(385, 269, 385+305, 269+230)就行
[解决办法]
CRect::PtInRect()
[解决办法]
不点击就用OnMouseMove 鼠标移动到区域内面了就触发事件
不过之前的工作是保证鼠标坐标的转换。
建议跟踪鼠标坐标值,然后转换。

探讨

OnMouseMove 判断是否在指定区域内

[解决办法]
屏幕这个区域

ClientToScreen判断...
[解决办法]
ClientToScreen

CRect::PtInRect()

如果要自动调用,就写线程或者定时器检测。


真正的自动调用,是重绘cbutton类,然后在类里面的onleftbuttondown函数里面做这个检查操作,还要给重载后的cbutton类一个回调的函数指针。这样类里面的onleftbuttondown检测到了,通知你,多好。

你明白了吗

热点排行