请教大家,在线等,急!:使按钮不可见后,如何去掉界面上仍留下的灰色背景条?

victor_7243 2006-06-17 09:11:48
想在点击某个菜单项后,去掉界面(主窗口客户区)上的一个按钮如MyButton,我用了下面语句:
MyButton.SetButtonStyle(~WS_VISIBLE);//使按钮不可见
MyButton.EnableWindow(FALSE);//使按钮无效
但是这样去掉按钮后,原来按钮的位置仍留下一个灰色的背景条,如何把这个给去掉呢?谢谢!
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
victor_7243 2006-06-20
  • 打赏
  • 举报
回复
谢谢livedeal,我按您的方法简化了代码,同时也谢谢各位的回复!
livedeal 2006-06-19
  • 打赏
  • 举报
回复
for(int i=0;i<10;i++)
GetDlgItem(IDC_IP1+i)->ShowWindow(SW_HIDE);//不显示,(SW_SHOW为显示)
不过你的按钮的ID一定要连续的,如IDC_IP1到IDC_IP10的ID数值为1001-1010;
lisypro 2006-06-18
  • 打赏
  • 举报
回复
去掉按钮后
再重绘窗体 Invalidate(TRUE);
hhyytt 2006-06-18
  • 打赏
  • 举报
回复
得到按钮的rect,用背景刷子重画。
victor_7243 2006-06-18
  • 打赏
  • 举报
回复
楼上的高手,您说的去掉按钮用的是第一种方法还是第二种方法?这个Invalidate(TRUE)好象只能刷去在客户区的绘图(比如画线),按钮的背景还是刷不掉。请再指点!还有如果要去掉一组按钮,应该怎么做简洁一些?盼着您的回复,谢谢!
victor_7243 2006-06-17
  • 打赏
  • 举报
回复
我把问题解决了,应该用ShowWindow(FALSE)去掉,但是如果要去掉好几个按钮,每个按钮都这么写很麻烦,不知道更有没有简洁的方法?请教高手指点!

15,975

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧