VC中如何判断窗口部分显示区域部分被拖动到显示器屏幕外?

当界面显示区域发生最小化、被拖动到屏幕外时,需要设置条件判断以便重新绘制背景色、基准线等基本初始化内容。窗口最小化使用IsIconic()返回一个bool值即可判断,但是... 当界面显示区域发生最小化、被拖动到屏幕外时,需要设置条件判断以便重新绘制背景色、基准线等基本初始化内容。窗口最小化使用IsIconic()返回一个bool值即可判断,但是被拖动到屏幕外区域找不到库函数或系统变量对应判断,自定义的变量(诸如判断四角顶点是否落在窗口区域;计算可见显示区域面积,小于初始化值的时候重绘内容)不知道怎样去判断可见区域,因此卡住了。
目前使用的方法是在OnTimer()函数中刷新绘制,将时间设为100ms刷新,这样不至于窗口闪烁太厉害,也不至于重绘时痕迹太明显。
还有更好的办法是用位图格式的图片做背景,BitBlt函数内存调用,送至屏幕显示,但是当前需求还没固定下来,把背景绘制成图片还需要改动,不太现实。
求助大牛们,如何设置判断这种情况的是否发生的条件?
展开
 我来答
归悦欣cf
2013-11-08 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1328万
展开全部
这样的判断可以在OnMoving消息函数里面进行.其实可以把绘图代码放在OnPaint(对话框)或OnDraw(SDI.MDI)函数中,这样程序会自动处理而没有必要做这样的判断.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式