CTreeCtrol 动态刷新问题 CTreeCtrl InvalidateInvalidate(FALSE)重绘OnPaint() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不要去尝试做这样的东西, 因为默认的控件有些地方绘制, 根本不会依赖于WM_PAINT消息和WM_NCPAINT消息,这就导致在某些情况下会显示出默认的控件.所以还是按标准的做法来自绘吧. 或者直接从窗口类派生来做. 亲,你看清楚我上面写的内容了木有?本来我的控件重绘就是派生CTreeCtrl类的。我的线程只是用来控制上面时候要刷新一次而已 PostMessage一个自定消息到UI线程或者直接InvalidateRect(HWND);创建线程的时候将窗口句柄HWND作为线程函数的参数传递给线程 InvalidateRect这个函数中参数不是HWND类型,是LPRECT类型,请问这个RECT的值如何获取? InvalidateRect这个函数中参数不是HWND类型,是LPRECT类型,请问这个RECT的值如何获取?你创建线程的时候直接将CTreeCtrl控件的HWND传递给线程不就行了,LPRECT写NULL即可。 没用的,也是一样的会报错PostMessage(WM_PAINT, 0, 0) 和SendMessage都试过了。InvalidateRect也试过了,还是报错啊 ... 没用的,也是一样的会报错PostMessage(WM_PAINT, 0, 0) 和SendMessage都试过了。InvalidateRect也试过了,还是报错啊 ...InvalidateRect()肯定是可行的,是你的代码写的有问题吧~ 1 线程中Invalidate(); 不可以;因为线程没有this2.线程中:: InvalidateRect(hWnd) 需要对话框的 hwnd 自定义一个消息 , post 这个消息到对话框.对话框可以直接调用 OnPaint 在你的自定义类中映射一个自定义消息 USERMESSAGE_1 ,在消息函数中调用Invalidate在你的线程中向自定义类 ::PostMessage(传给现程的句柄,USERMESSAGE_1, 0,0)MFC的界面控件大部分不支持多线程操作。 没用的,也是一样的会报错PostMessage(WM_PAINT, 0, 0) 和SendMessage都试过了。InvalidateRect也试过了,还是报错啊 ...InvalidateRect()肯定是可行的,是你的代码写的有问题吧~嗯啊,先看看是不是我的代码有问题。但是我不用Invalidate,一直运行,运行多久都不会报错。 你是用 “bRefresh是一个全局的BOOL变量” 的吧 ?volatile BOOL bRefresh;界面 查 bRefresh。 对我的全局变量 BOOL bRefresh有争议? 这个值是能正常赋值和获取的 。 我只是用这个标记来控制什么时候需要重绘而已,这个应该没有问题吧?而且这是BOOL值是手动修改的。 一个个读取汉字字符串的问题 一家游戏公司的笔试题. VC中有与Turbo C一样的graphic.h的头文件吗? 一个常见的技术,大家来看看!up有分 用findwindow得到exe的窗口句柄,通过窗口句柄如何得到这个窗口的控件变量 怎样将图片的二进制数据直接写到对话框中? 用 得到进程ID,怎么得到当前运行进程的完整路径呢? 民工的BBS------www.deadrock.com !!!! c++还是java? 有哪位看过孙鑫的书,问个问题,第10章里面 VC模拟http请求,错误码10054 关于编写文件重命名的问题
这就导致在某些情况下会显示出默认的控件.所以还是按标准的做法来自绘吧. 或者直接从窗口类派生来做.
亲,你看清楚我上面写的内容了木有?本来我的控件重绘就是派生CTreeCtrl类的。我的线程只是用来控制上面时候要刷新一次而已
或者直接InvalidateRect(HWND);创建线程的时候将窗口句柄HWND作为线程函数的参数传递给线程
你创建线程的时候直接将CTreeCtrl控件的HWND传递给线程不就行了,LPRECT写NULL即可。
没用的,也是一样的会报错PostMessage(WM_PAINT, 0, 0) 和SendMessage都试过了。InvalidateRect也试过了,还是报错啊 ...
没用的,也是一样的会报错PostMessage(WM_PAINT, 0, 0) 和SendMessage都试过了。InvalidateRect也试过了,还是报错啊 ...
InvalidateRect()肯定是可行的,是你的代码写的有问题吧~
2.线程中:: InvalidateRect(hWnd) 需要对话框的 hwnd 自定义一个消息 , post 这个消息到对话框.对话框可以直接调用 OnPaint
没用的,也是一样的会报错PostMessage(WM_PAINT, 0, 0) 和SendMessage都试过了。InvalidateRect也试过了,还是报错啊 ...
InvalidateRect()肯定是可行的,是你的代码写的有问题吧~嗯啊,先看看是不是我的代码有问题。但是我不用Invalidate,一直运行,运行多久都不会报错。
volatile BOOL bRefresh;
界面 查 bRefresh。
对我的全局变量 BOOL bRefresh有争议? 这个值是能正常赋值和获取的 。
我只是用这个标记来控制什么时候需要重绘而已,这个应该没有问题吧?而且这是BOOL值是手动修改的。