窗口生效函数UpdateData

Invalidate()使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景 将被擦除,否则,背景将保持不变。

1、当做完绘画相关操作(SetIcon)可以使用Invalidate来更新窗口。

2、如果在PAINT消息处理函数中调用Invalidate()函数,那么界面将会不停地闪烁。

UpdateData(TRUE)根据对话框的内容更新变量的值。

UpdateData(FALSE)根据变量的值更新对话框的内容。

UpdateData并不会重绘窗口。

UpdateWindow这个函数会使窗口马上重绘,优先级比Invalidate高。

时间: 2024-09-30 06:43:45

窗口生效函数UpdateData的相关文章

Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)

//Qt主窗口没有最小化,最大化按钮且最大化显示  int main(int argc, char *argv[]) { QApplication a(argc, argv); TestQtForWinCE w; w.setWindowFlags(w.windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint); w.showMaximized(); return a.exec(); } 这里的&q

QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)

使用QT编辑界面,其中带来很大方便的一点就是Qt中自带丰富的.种类齐全的类及其功能函数,程序员可以在编辑程序的过程中简单地直接调用.关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit()以及close().    首先说明窗口退出时,系统提示对话框的代码编辑.对主程序的退出,可以调用成员函数exit(),同时也可以调用槽quit(),二者此时都能起到关闭应用程序的作用.只是应注意二者调用的方式不同.如下程序示例:        {         QApplication* a

selenium2.0+java窗口切换函数

最近使用selenium+java的时候需要使用窗口切换,网上找了下,比较简单,为以后学习记录下来 //窗口切换函数 public void windowsFocus() { String currentWindow = driver.getWindowHandle();//获取当前窗口句柄 Set<String> handles = driver.getWindowHandles();//获取所有窗口句柄 Iterator<String> it = handles.iterato

窗口聚合函数与分组聚合函数的异同

窗口聚合函数与分组聚合函数的功能是相同的:唯一不同的是,分组聚合函数通过分组查询来进行,而窗口聚合函数通过OVER子句定义的窗口来进行. --<T-SQL性能调优秘笈---基于SQL Server2012窗口函数>2.1.1窗口聚合函数描述

窗口回调函数

1.传参 /* WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 和 typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG; 前四个参数一致 操作系统直接使用msg前四位作为参数传入窗口回调函数*/ 2.返回值(必须返回,会被作为dispatchme

javascript 之 location.href、跨窗口调用函数

location.href这个东西常常用于跳转,location既是window对象的属性,又是document对象的属性. JavaScript hash 属性 -- 返回URL中#符号后面的内容 JavaScript host 属性 -- 返回域名 JavaScript hostname 属性 -- 返回主域名 JavaScript href 属性 -- 返回当前文档的完整URL或设置当前文档的URL JavaScript pathname 属性 -- 返回URL中域名后的部分 JavaSc

原生JS和JQuery代码编写窗口捕捉函数和页面视觉差效果(scroll()、offsetTop、滚动监听的妙用)

想实现窗口滚动到一定位置时,部分网页的页面发生一些变化,但是手头没有合适的插件,所以就想到自己编写一个简易的方法, 想到这个方法要有很高的自由度和适应性,在这,就尽量的削减其功能,若有错误的地方或者更好的建议,请大家评论,一同探讨, 好了废话不多说,下面开始干活了! 首先,说一下我想实现的基本功能: 此方法需要有2个基本形参,,一个是我要监测的标签a,另一个是我要监测标签相对于哪个标签b做的距离检测. 当a和b的距离达到一定范围的时候,让网页局部发生一些变化效果,这是我们的预期. 以下是我的方法

小米网登录窗口抖动函数实现

之前经常在小米网上买东西,发现小米网站的登录验证做得挺有特色的.当用户名或密码输入错误的时候会像“摇头”似得抖一抖,略微想了一下,发现实现的方式挺简单的,所以今天下午花了一点时间想了一下,以下是我的思路和代码. 要实现抖动,需要实现一下几步: 1,获取当前元素的位置作为初始位置. 2,设置定时器循环改变元素的位置,每次左右移动一次比上一次移动少一点点距离,直到停止到初始位置. 3,触发调用 小米网使用一个 div 元素放置表单元素, div 元素水平居中,并设置定位方式为 relative ,以

孙鑫视频改变窗口过程函数中出现error C2440错误的解决方法

在Visual Studio 2010中,即使代码是完完全全按照孙鑫视频中的敲,也会在出现error C2440,这是因为开发平台由VC6.0升级至VS2010,需要将原有的项目迁移.VS2010对消息的检查更为严格,以前在VC6.0下完全正常运行的消息映射在VS2010下编译不通过. 百度了解决方法如下(亲测可用): 例如:TestDlg.cpp中ON_REGISTERED_MESSAGE(WM_INITDIALOG, &CTestDlg::OnInitDialog):第一:把原来的消息函数返