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

鼠标滚轮事件解决办法

2012-04-13 
鼠标滚轮事件dialog窗口中触发鼠标滚轮事件,窗口大小不变,内容缩放,代码如下:if (zDelta0){rect.top-0.5

鼠标滚轮事件
dialog窗口中触发鼠标滚轮事件,窗口大小不变,内容缩放,代码如下:
if (zDelta>0)
{
rect.top-=0.5;
rect.left-=0.5;
rect.bottom+=0.5;
rect.right+=0.5;
}
else
{
rect.top+=0.5;
rect.left+=0.5;
rect.bottom-=0.5;
rect.right-=0.5;
}
pDC = GetDC();
pDC->Rectangle(&rect);
ReleaseDC(pDC);


怎么不可以,请高手指点

[解决办法]
我觉得是你没有redrawwindows,或者invaliderect,就是说重新画了界面之后,没有刷新。
[解决办法]
1:设置个断点,确定接收到并正确响应了WM_MOUSEWHEEL消息
2:The Rectangle function draws a rectangle. The rectangle is outlined by using the current pen and filled by using the current brush. 
3:最好把绘制部分放到OnPaint中 




[解决办法]
你的rect是否是在OnInitialUpdate中获取的 另外变换的步长取整数
[解决办法]
你把绘制相关的代码都整理到OnPaint里
在这个位置调用Invalidate
[解决办法]

探讨

绘制代码都在OnPaint事件里了,在鼠标滚轮事件也Invalidate
刷新了 还是不行引用:
你把绘制相关的代码都整理到OnPaint里
在这个位置调用Invalidate

[解决办法]
你这个rect是谁的啊,如果它是视图的就更新视图,如果它是框架的就更新框架

热点排行