100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > mfc 控件显示 被遮挡_MFC控件显示和隐藏的问题

mfc 控件显示 被遮挡_MFC控件显示和隐藏的问题

时间:2019-10-01 19:00:25

相关推荐

mfc 控件显示 被遮挡_MFC控件显示和隐藏的问题

我想动态的使一串按钮从左到右的显示,达到流水的效果for(inti=14;i>1;i--){GetDlgItem(array[i])->ShowWindow(true);MessageBox("fdsafds");GetDlgItem(array[i])->ShowWindow(false...

这个问题是这样子的,当你调用GetDlgItem(array[i])->ShowWindow(true);它会调用onpaint函数去进行一次窗口重绘,但是,它并非立即进行重绘,它有可能先处理这个循环体,处理完了,再进行重绘,这样的话,给你的感觉是,控件并没有什么变化……

解决办法:调用UpdateWindow();函数,可以立即重绘窗口。。。。也就是把你的程序改成

for(i

将这些操作放在单独的一个线程里就可以得到你想要的效果了

如果把循环放在主线程里做的话,会阻塞主线程的消息队列,界面不会及时更新,所以没有效果

创建线程可以使用AfxBeginThread,CreateThread,_beginthread。。。方法很多~追问这个具体是什么意思呢?追答起一个线程CreateThread(....,ThreadProc);

线程的call

,TypeA分栏显示,TypeB分栏被隐藏; 之后,根据点选的按钮来隐藏和显示各自的分栏。

首先每一个控件都必须有特定的ID号,所有控件都是,包括静态文本控件,所有ID号都不能一样

在对话框类的OnInitDialog函数中添加如下代码:

CButton* pButton=(CButton*)GetDlgItem(IDC_RADIO1); //假设按钮TypeA的ID

添加定时器消息(WM_TIMER),在OnTimer中处理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。