tab2-MFC窗口被覆盖后,窗口上按钮的图标消失了

问题描述

MFC窗口被覆盖后,窗口上按钮的图标消失了

问题1:MFC窗口上的MFCBUTTON按钮设置了ICON图标,在窗口被覆盖后,这些图标全部消失了,在鼠标滑过时会显示出来。问了度娘说是ONPAINT函数的问题,但这个函数我根本没有改动过啊。。而且,我还尝试在ONPAINT函数中设置按钮的ICON,仍然不行。求助!
问题2:我有2个tab控件,他们是嵌套关系,tab1包含tab2。如何做到在tab1的第1页单击一个按钮,修改tab2第2页的edit控件的值?各位大神如果有代码的话直接写代码吧,因为网上那些方法我都试过了,实在是自己搞不出来。求助!!

解决方案

1. 你的按钮是自绘的吗?需要处理DrawItem虚函数。
2. 创建tab2的时候将tab1的CWnd*指针或者HWND窗口句柄作为tab2构造函数的参数传递过去即可。

解决方案二:

在onpaint中用invalidaterect()函数刷新按钮看行不行。

解决方案三:

呃,还是不行。。。会不会跟这个MFCBUTTON控件自身有关系?

解决方案四:

用sendmessage()来修改tab2第2页的edit控件的值

解决方案五:

没有自动重绘,问题很明显,百度一下应该有。

解决方案六:

我知道怎么回事了。说起来挺对不起大家的哈哈

是因为这几个按钮下面垫了一张图片,是picture control。在窗口被覆盖之后,picture control控件会覆盖掉mfcbutton,目前我还没有找到方法可以把picture control这个控件设置成位于按钮下方,即使用CTRL+D更改次序也是不行的。

我的方法如图:
1、把背景色设为跟PICTURE CONTROL一样的颜色;
2、把picture control处理成只保留白色LOGO部分;
3、得到结果图


解决方案七:

非常感谢大家的帮助,如果有高手知道如何把按钮放在PICTURE CONTROL控件上并能正常重绘的办法,也请不吝赐教,先谢过啦!

解决方案八:

对按钮进行Invalidate()刷新一下

时间: 2024-12-03 11:01:51

tab2-MFC窗口被覆盖后,窗口上按钮的图标消失了的相关文章

窗口被其他程序覆盖后,重新显示时不会重绘

问题描述 (MFC)注释掉窗口函数Onpaint中的CDialog::OnPaint();,当窗口被其他程序覆盖后,重新显示时不会重绘,只显示空白窗口对话框,使用鼠标拖动一下,就恢复正常了,请高手指点应该怎么做啊. 解决方案 本帖最后由 hailinouc 于 2014-11-20 08:20:18 编辑

mfc 分割窗口后窗口变化问题

问题描述 mfc 分割窗口后窗口变化问题 mfc 分割窗口后,窗口最大化时,如何让各个窗口等比例随之变化问题 谢谢,大神指导 解决方案 打开classwizard,映射wm_resize消息,添加上面的代码 解决方案二: //OnSize,MoveWindow //eg: void CMainFrame::OnSize(UINT nType, int cx, int cy) { CFrameWnd::OnSize(nType, cx, cy); if (!m_wndStatusBar.m_hWn

mfc-PPT 自动化开发,PPT嵌入MFC对话框后,按下ESC,幻灯片播放的窗口退出,PPT窗口也同时退出

问题描述 PPT 自动化开发,PPT嵌入MFC对话框后,按下ESC,幻灯片播放的窗口退出,PPT窗口也同时退出 Alert me | Edit | Delete | Change type Question You cannot vote on your own post 0 我自己创建了一个atl控件,用来实现PPT的播放.保存的功能(office 2013版本):然后将该控件嵌入MFC对话框程序里面,但是播放PPT的出现了问题:播放幻灯片的时候,能够正常播放,但是按下ESC按钮结束幻灯片播放

当文档分割-请问mfc单文档分割窗口后,原来可以显示图形的VIEW函数怎么修改才能让其显示原来发的图形。

问题描述 请问mfc单文档分割窗口后,原来可以显示图形的VIEW函数怎么修改才能让其显示原来发的图形. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: 在此添加专用代码和/或调用基类 if(m_splitter.CreateStatic(this,1,2)==NULL) return FALSE; CRect rect; GetClientRect(&rect);

mfc窗口切换视图-MFC单文档视图 窗口分割 如何切换视图

问题描述 MFC单文档视图 窗口分割 如何切换视图 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: Add your specialized code here and/or call the base class if(!m_wndSplitter.CreateStatic(this,1,2)) return FALSE; if(!m_wndSplitter.Cr

【数字图像处理】 二.MFC单文档分割窗口显示图片

本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程及常用图片软件讲解. 一. CSplitterWnd静态分割窗口 1.CSplitterWnd类基础知识(该部分引用:百度百科和麦田里的稻草人博客)CSplitterWnd类提供一个分离器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口.窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗

js实现点击链接后窗口缩小并居中的方法

 这篇文章主要介绍了js实现点击链接后窗口缩小并居中的方法,实例分析了javascript操作窗口的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了js实现点击链接后窗口缩小并居中的方法.分享给大家供大家参考.具体分析如下: 这是一个简单的JS特效,以前没有见到过,就是当点击页面上指定文字链接的时候,页面窗口缩小,并居中显示,然后在居中的窗口中显示链接内容,但愿这些网页特效能在日后派上用场   代码如下: <HTML><HEAD> <TITLE>

mfc 菜单不响应-MFC单文档拆分窗口,菜单不响应

问题描述 MFC单文档拆分窗口,菜单不响应 通过CSplitterWnd拆分多个窗口,然后分别创建视图,在视图中添加菜单响应函数,结果点击菜单,响应函数不响应,请问我该怎么做,求大神解答,谢谢! 解决方案 把你的代码打包了放在网盘上,贴出地址帮你看. 解决方案二: 建议你先使用搜索引擎查找相关的文章,看看别人是怎么做的.编程想要进步,就要自己试着解决问题.

c++-小弟请教在MFC中子窗口如何获取父窗口的句柄啊

问题描述 小弟请教在MFC中子窗口如何获取父窗口的句柄啊 比如我有个父类的Dialog类为A,还有一个子类的Dialog类为B,然后在A类的头文件中包含了B的头文件,然后在A类中生命一个B类的成员变量,类似下面那样,然后我通过一个button调用DoModal();B类的STYLE改为CHILD了: 然后我希望在子窗口中处理一些数据,然后传给父窗口:比如A中有个IDC_text1 有个IDD_BUTTON1,B中有个IDC_text2,有个IDD_BUTTON2: 我就希望在B中的IDC_tex