社区
非技术类
帖子详情
如何设置动态创建的CButton背景颜色和字体颜色?
zzWind
2002-03-24 10:46:37
同上
...全文
1224
6
打赏
收藏
如何设置动态创建的CButton背景颜色和字体颜色?
同上
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arte
2002-03-26
打赏
举报
回复
请教Tasehouny兄
如何不用onCtrlColor而改变控件的颜色,比如说,一个dialog上面有一个
edit control(idc_name)和一个button(idc_button1) ,我想当button1被
按下时,改变edit control的背景色,下面的代码为什么不对?
void CMyDialog::OnButton1()
{
// TODO: Add your control notification handler code here
CEdit* pEd=(CEdit*)GetDlgItem(IDC_name);
CDC *pDC;
pDC=pEd->GetDC();
pDC->SetBkColor(RGB(255, 0, 0));
GetDlgItem(IDC_name)->UpdateWindow();
}
zzWind
2002-03-24
打赏
举报
回复
to bluesea21(谢辉)
我重载了OnCtrlColor还是没有用。
Tasehouny
2002-03-24
打赏
举报
回复
WM_CTLCOLOR消息对下列五类控件是适用的:
1.Check box, radio button, push button:用选定的brush画出该控件所被放置的矩形区,控件的形状和文本再在其上画出;
2.Edit control:画出编辑区;
3.Group box:画出标题文本之下的矩形区域;
4.Scroll bar:画出滑块的轨迹;
5.List box:画出列表区域。
静态文本、边框和矩形不受该消息的影响。
还须注意的是,虽然WM-CTLCOLOR消息对Push button是适用的,但是从Windows 3.0及其以后的版本的系统中,加入了用户程序不能修改按钮外观颜色的限制,如果要达到您想要的效果的话,您需要使用owner-drawn button。
关于WM_CTLCOLORBTN的进一步的信息,您可以参考http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/buttons_0d4e.asp
关于owner-drawn button的进一步的信息,您可以参考:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/buttons_4jub.asp
- 微软全球技术中心 VC技术支持
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
我觉得只能自己画!我就是这样做的!
bluesea21
2002-03-24
打赏
举报
回复
CDC *pDC;
pDC=GetDlgItem(IDC_BUTTON1)->GetDC();
pDC->SelectObject(pFont);
GetDlgItem(IDC_BUTTON)->UpDataWindow();
//字体颜色:CFont pFont.
背景须重载OnCtrlColor
zzWind
2002-03-24
打赏
举报
回复
to psusong(我心飞扬)
我是用你的方法就是Button颜色改变不了,Edit和Dlg都可以。
GoogleGeek
2002-03-24
打赏
举报
回复
那时因为你调用该函数的方法不对!具体的做法如下所示:
in .h
class CYourDlg:public CDialog{
private:
HBRUSH bkColor,dlgcolor;
CBrush brush,dglBrush;
};
in .cpp
CYourDlg::CYourDlg(CWnd* pParent /*=NULL*/)
: CDialog(CYourDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CShowMe)
brush.CreateSolidBrush (RGB(255,255,0));
dglBrush.CreateSolidBrush(RGB(83,200,255));
dlgcolor=(HBRUSH)dglBrush;
bkColor=(HBRUSH)brush;
}
映射消息函数:
HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_EDIT)//设置编辑控件的颜色
{
pDC->SetBkColor (RGB(255,255,0));
return bkColor;
}
if(nCtlColor==CTLCOLOR_DLG)//设置对话框的背景色
{
pDC->SetBkColor (RGB(83,200,255));
return dlgcolor;
}
//设置其他的控件的方法相同,建议兄台看一下MSDN
}
南京扬子石化精细化工有限责任公司
QQ:81824475
Email:psu.song@163.com
Qt一去丶二三里Blog完整版下载:深入Qt开发的宝库
Qt一去丶二三里Blog完整版下载:深入Qt开发的宝库 去发现同类优质开源项目:https://gitcode.com/ 在众多开源项目中,Qt 一去丶二三里 Blog以其独特的魅力和实用性,吸引了众多开发者的目光。以下是关于这个项目的详细介绍,帮助您快速了解并使用这一宝贵资源。 项目介绍 Qt 一去丶二三里 Blog是一份全面且详尽的资源包,包含了使用Qt框架开发博客系统的所有内容。无论是初学者...
QT_BLOG
QT4.6Qt4.6源码分析 : by zhaoyihui888 http://blog.csdn.net/zhaoyihui888/article/category/611006 1+1=2 的博客 http://blog.csdn.net/dbzhang800/article/category/759342 http://hi.baidu.com/c
Qt 一去丶二三里 Blog 完整版下载
Qt 一去丶二三里 Blog 完整版下载 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到Qt 一去丶二三里 Blog的完整版资源下载页面。此压缩文件包含Qt 一去丶二三里 Blog的全部内容,是您深入了解和学习Qt相关知识的宝贵资料。 文件内容 Qt 一去丶二三里 Blog完整版 使用说明 下载后,请使用解压缩软件解压文件。 解压后,您可以看到文件夹内的详细内容,...
qt blog
目录 1. Qt5.4.0快捷方式 42. 信号槽机制 43. 窗口 5Qwidget,QDialog,QMainwindow的异同 63.1. 模式对话框 73.2. 非模式对话框 73.3. 半模式对话框 74. 基本元素 74.1. QLable: 74.2. QLineEdit 94.3. QLCDNumbe 144.4. QAbstract
Button
: 154.5. QPus...
探索Qt世界的宝藏:Qt 一去丶二三里 Blog(一)推荐
探索Qt世界的宝藏:Qt 一去丶二三里 Blog(一)推荐 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在技术日新月异的今天,掌握一门强大的开发工具是每个程序员的必备技能。Qt,作为跨平台的C++图形用户界面应用程序开发框架,以其高效、灵活和强大的特性,成为了众多开发者的心头好。为了帮助广大开发者更好地理解和掌握Qt,我们推出了“Qt 一去丶二三里 Blog(一)”...
非技术类
1,663
社区成员
58,947
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章