社区
界面
帖子详情
在线等待!!!在OnCtlColor中改变控件背景色
jxw3000
2003-10-23 09:33:35
在OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)中改变控件背景色.字体色时,其他都可以但按钮的改变不了请高手指点
...全文
271
20
打赏
收藏
在线等待!!!在OnCtlColor中改变控件背景色
在OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)中改变控件背景色.字体色时,其他都可以但按钮的改变不了请高手指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dan1416
2003-10-31
打赏
举报
回复
改不了按钮
是因为没有把按钮的owner drawer勾中
你再试一下
cnwww
2003-10-31
打赏
举报
回复
我试试再说!
yintongshun
2003-10-31
打赏
举报
回复
楼上的各位说的真够详细的,VCKBASE
wwwhb2000
2003-10-31
打赏
举报
回复
对于具体的控件可以从CEDIT继承类,在其中重载=WM_CTLCOLOR(即REFLECT消息),再pDC->setTextColor(..),return (HBRUSH*)(m_brushBak.getsafeHwnd()),看看MSDN的反射消息,应该可以的!
taianmonkey
2003-10-31
打赏
举报
回复
if(nCtlColor==CTLCOLOR_LISTBOX)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_SCROLLBAR)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_EDIT)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
else if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
else if(nCtlColor == CTLCOLOR_BTN)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
carbon107
2003-10-31
打赏
举报
回复
http://www.powerba.com/develop/vc/article/20000725003.htm
这里讲的也非常好
ink8852
2003-10-31
打赏
举报
回复
不错!
会思考的草
2003-10-27
打赏
举报
回复
上面这个代码是我用另外一个消息WM_CTLCOLOREDIT修改编辑框里面字体的颜色的,颜色的RGB值是随机产生的,只是演示用。
会思考的草
2003-10-27
打赏
举报
回复
映射WM_CTLCOLOR消息。当然你在ClassWizard里面找不到这个消息的,你可以这样做:
打开ClassWizard,选择最后一个属性页ClassInfo,在本页面下半部,有一个Message Filter下拉列表框,一般默认是Dialog,你把它改成Window,然后回到第一个页面Message Maps,就能看到WM_CTLCOLOR消息了。
再给你一个示范代码:
void CChangeColorDlg::OnButtonChangecolor()
{
CDC dc;
SendMessage(WM_CTLCOLOREDIT, (WPARAM) dc.GetSafeHdc(), 0);
GetDlgItem(IDC_EDIT_TEST)->SetFocus();
}
HBRUSH CChangeColorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//Generate pseudorandom number
int R = rand()%255;
int G = rand()%255;
int B = rand()%255;
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
SetTextColor(pDC->m_hDC, RGB(R,G,B));
return hbr;
}
qrlvls
2003-10-27
打赏
举报
回复
重载 DrawItem 函数自绘,这样的话就需要自己绘制文本和图标
推荐使用 CButtonST 类,不用自己再写代码了
http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=301&page=2
bigflyingpig
2003-10-24
打赏
举报
回复
gz
yushulei
2003-10-23
打赏
举报
回复
up
jxw3000
2003-10-23
打赏
举报
回复
我需要的是将大量的控件背景色同步,有更好的办法吗?
ink8852
2003-10-23
打赏
举报
回复
自己重画控件吧...drawitem
不过我使用的是CButtonST类,蛮好用的
如果觉得不满意,自己还可以添加一些需要的函数
arvid_gs
2003-10-23
打赏
举报
回复
if((nCtlColor == CTLCOLOR_BTN) && (pWnd->GetDlgCtrlID()==IDC_BUTTON1))
{
HBITMAP hBitmap;
hBitmap = (HBITMAP)::LoadImage(AfxGetApp()->m_hInstance ,"c://bag.gif",0,0,0,0); // = CreateBitmap(8, 8, 1, 1, (LPSTR)wWeave);
hbr = CreatePatternBrush(hBitmap);
pDC->SetTextColor(RGB(0,0,255)); //改变字体的颜色
hbr=(HBRUSH) m_bluebrush;
}
arvid_gs
2003-10-23
打赏
举报
回复
按钮不能通过OnCtlColor来改变背景,继承在DrawItem()里改写把!
wuxfBrave
2003-10-23
打赏
举报
回复
自己下载一个CButtonST类
flinming
2003-10-23
打赏
举报
回复
我试过很多好像都不行
还是自己重画控件吧。。。。drawitem
或者到网络上找一个别人写好的控件。。。自己在去修改吧。。。。。。。
ninsenki
2003-10-23
打赏
举报
回复
UP
vcforever
2003-10-23
打赏
举报
回复
用OnCtlColor()是无法改变按钮的背景色的!
要想改变按钮的背景色只有自己画按钮了!
网上有很多例子,搜索一下,一大堆的!呵呵……
高维多阶段随机规划问题的正则化分解与马尔可夫不确定性研究(Python代码实现)
内容概要:本文聚焦于高维多阶段随机规划问题,深入研究了正则化分解方法与马尔可夫过程在刻画不确定性动态演化
中
的应用,并提供了完整的Python代码实现。通过引入正则化技术有效降低了高维随机优化问题的计算复杂度,结合马尔可夫链建模多阶段决策过程
中
的不确定性传播机制,提升了模型在复杂动态环境下的求解效率与鲁棒性。研究涵盖了问题建模、算法设计、数值求解及结果分析全过程,具有较强的理论深度与工程实践价值; 适合人群:具备一定运筹学、优化理论基础及Python编程能力,从事智能决策、人工智能、能源系统优化、金融工程等相关领域的科研人员、高校研究生以及工业界研发工程师; 使用场景及目标:①应用于电力系统调度、供应链管理、金融资产配置等存在多阶段不确定性的复杂决策场景;②掌握高维随机规划的建模思路与高效求解技术,深入理解正则化方法与马尔可夫过程在实际优化算法
中
的融合机制与实现路径; 阅读建议:建议结合提供的Python代码进行动手实践,重点关注算法实现细节、参数敏感性分析与收敛性验证,鼓励在不同应用场景
中
迁移和改进该方法,进一步探索其在分布鲁棒优化、动态规划等前沿方向的扩展潜力。
【图论聚类算法】一种图论方法用于非参数聚类分析(Matlab代码实现)
内容概要:本文系统介绍了一种基于图论的非参数聚类分析方法,并提供了完整的Matlab代码实现。该方法通过构建数据点间的图结构,利用图论
中
的连通性和路径特性进行聚类划分,无需预先设定聚类数目,具有较强的自适应能力。文章重点阐述了算法的核心思想、数学建模过程及关键步骤的编程实现,展示了其在复杂分布数据上的聚类效果,突出了在处理非球形、不规则簇结构时相较于传统聚类算法的优势,有助于读者深入理解图论在无监督学习
中
的应用机制。; 适合人群:具备一定数学基础和Matlab编程能力,从事数据分析、模式识别、机器学习或相关工程研究的研究生及科研人员。; 使用场景及目标:①学习图论在聚类分析
中
的具体应用原理与实现技巧;②掌握非参数聚类算法的设计思路与代码实现方法;③应用于科研项目
中
对复杂、未知结构数据的无监督分类任务;④作为算法原型进行二次开发或与其他模型融合创新; 阅读建议:建议读者结合提供的Matlab代码逐行调试,通过调整参数(如邻接阈值、相似度度量方式)观察聚类结果变化,深入理解算法行为,并尝试将其应用于自身研究领域的实际数据集
中
,以提升理论与实践结合的能力。
统信程序(十二)档案归档文件管理V2.0 bjth多页替换功能优化V3.0
python程序源码
产业园区运营负责人如何通过产业大脑实现企业供需精准匹配?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
状态估计【KF、DKF、SMDKF 、CI 、ICF、HCMCI】离散时间线性系统的基于共识的分布式滤波器的稳定性与最优性分析(Matlab代码实现)
内容概要:本文系统研究了离散时间线性系统
中
基于共识的分布式滤波器的稳定性与最优性问题,深入探讨了KF(卡尔曼滤波)、DKF(分布式卡尔曼滤波)、SMDKF(基于平方根的最大熵分布式卡尔曼滤波)、CI(协方差交叉)、ICF(信息共识滤波)和HCMCI(基于高阶交叉协方差的信息融合)等多种滤波算法的理论基础、数学推导与实现机制。通过Matlab平台构建多传感器网络仿真环境,实现了各类算法在不同噪声统计特性和通信拓扑结构下的状态估计仿真,重点分析了各算法在估计精度、收敛速度、鲁棒性及一致性方面的性能差异,并对融合策略
中
的协方差传播、信息权重分配与共识迭代过程进行了细致对比,旨在为复杂环境下多智能体系统的分布式状态估计提供可复现的技术方案与理论支撑。; 适合人群:具备控制理论、信号处理、线性系统理论及Matlab编程基础的研究生、科研人员,以及从事多传感器融合、分布式估计算法开发、无人系统导航与智能电网监控等领域的工程技术人员。; 使用场景及目标:① 掌握主流分布式滤波算法的核心思想与数学建模方法;② 在多节点传感网络
中
实现高效可靠的状态估计;③ 对比分析不同共识融合策略在非理想通信条件下的性能表现;④ 支持学术论文复现、算法改进与工程化验证,服务于科研创新与系统优化设计。; 阅读建议:建议结合Matlab代码逐模块解析算法实现流程,重点关注状态预测、局部更新、信息融合与一致性达成的关键步骤;可通过调整系统噪声、观测噪声、网络连接拓扑等参数开展扩展性仿真实验,深入理解算法的稳定边界与最优性条件,进一步探索其在实际应用场景
中
的适应性与改进空间。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章