mfc-MFC中对于CColorDialog的修改

问题描述

MFC中对于CColorDialog的修改

我希望同时设置前景色背景色,我用了CColorDialog,但是它只有一个颜色设置,我想修改成同时设置两个颜色,怎么改?

解决方案

参考:
http://www.codeproject.com/Articles/13426/Custom-Color-Dialog-Box

你在InitDialog里面加上一个两个按钮,一个叫前景一个叫背景,切换的时候设置不同的颜色。

解决方案二:

但是恐怕对你现在的水平有些难。只是告诉你有这样的方式可以自定义。

解决方案三:

CColorDialog 调用后返回一个颜色索引值,可以用此值同时设置多个对象,不要说两个,3个、或者更多都没有问题。
窗体的前景色的设置方法,这个需要你掌握的知识点。然后用你获取的颜色索引替代下面代码中的 RGB 颜色。
为dialog添加消息WM_CTRLCOLOR的映射,在OnCtlColor函数中修改为如下代码:
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor == CTLCOLOR_DLG || nCtlColor == CTLCOLOR_STATIC)
{
//pDC->SetTextColor(RGB(0,0,255));//字体色
pDC->SetBkColor(RGB(210,230,211));//字体背景色******
HBRUSH B = CreateSolidBrush(RGB(210,230,211)); //背景色
return B;
}
if(nCtlColor == CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0,0,255));//字体色
}
return hbr;

时间: 2024-07-31 06:12:54

mfc-MFC中对于CColorDialog的修改的相关文章

代码-MFC中如何通过ini修改STRINGTABLE中的字符串?

问题描述 MFC中如何通过ini修改STRINGTABLE中的字符串? rc文件部分如下,请问怎么通过ini文件的读取操作来更改STRINGTABLE中的数据,需要具体的代码实现,谢谢!!STRINGTABLEBEGIN IDS_BUILD_TAB ""生成"" IDS_DEBUG_TAB ""调试"" IDS_FIND_TAB ""查找""END 解决方案 string table在资

在非MFC程序中引用CString

CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论. 为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.h只有由cpp为扩

vs2013-创建mfc程序 单文档 不修改任何代码 直接生成 触发断点……

问题描述 创建mfc程序 单文档 不修改任何代码 直接生成 触发断点-- 创建mfc程序 单文档 不修改任何代码 直接生成 触发断点-- 提示 诸如 0x77A53B93 (ntdll.dll)处(位于 Trying first.exe 中)引发的异常: 0xC0000374: 堆已损坏. (参数: 0x77A6DDD8).0x77A53B93 (ntdll.dll) (Trying first.exe 中)处有未经处理的异常: 0xC0000374: 堆已损坏. (参数: 0x77A6DDD8

界面-如何使打开的其他程序或者文档在MFC窗口中显示,而不是新打开一个窗口

问题描述 如何使打开的其他程序或者文档在MFC窗口中显示,而不是新打开一个窗口 我想在程序界面中指定一个区域,用于显示被打开的其他程序或者文档的界面.可是我用ShellExecute函数打开指定的那个文档和程序的时候,总是会再启动另一个窗口,效果就像是直接点击打开那个文件一样. 解决方案 将mfc窗口设置为其它程序的父窗口 解决方案二: 参考:程序只允许打开唯一实例且所有关联文档都在同一实例内打开的一揽子解决办法http://blog.csdn.net/IfI/article/details/1

MFC对话框中的图标怎么编辑?可不可以使用下载的BMP的图标?

问题描述 MFC对话框中的图标怎么编辑?可不可以使用下载的BMP的图标? 谢谢,如题,MFC对话框中的图标怎么编辑?可不可以使用下载的BMP的图标? 解决方案 推荐你使用Axialis IconWorkshop,它功能比VC++自带的强很多. 解决方案二: 不可以,需要先转换成ico,有网站提供在线转换,也可以用一些软件转换

MFC对话框中滚动条相互影响

问题描述 MFC对话框中滚动条相互影响 我点第二个滚动条,原先设置好的与第一个滚动条关联好的编辑框的数字就变了,请问怎么解决??新手上路,大家帮帮忙 解决方案 要看你编辑框是如何关联滚动条的.

MFC语言中的消息和函数之间的关系

问题描述 MFC语言中的消息和函数之间的关系 MFC中的消息和函数之间的关系是什么,比如OnSize这个是一个函数吧,怎么变成消息的? 解决方案 每个窗口有一个消息循环,mfc对消息循环做了包装,通过消息映射宏将收到指定的消息调用对应的虚函数处理,你写的onsize就是这样一个函数. 解决方案二: Onsize 是窗口大小发生了改变时调用的 3个消息分别是:WM_SIZE.WM_SIZING.WM_GETMINMAXINFO:分别对应相应的处理函数:OnSize.OnSizing.OnGetMi

mfc对话框-在MFC对话框中添加自己编写的OCX控件时出错

问题描述 在MFC对话框中添加自己编写的OCX控件时出错 在MFC工具箱中添加自己编写的OCX然后把控件拖拽到对话框中添加,弹出错误信息提示: Debug Assertion Failed!Program:...les(x86)Microsoft Visual Studio10.0Common7IDEdevenv/.exeFile:fddvctoolsvc7libsshipatlmfcsrcmfcwinocc.cppLine:307 然后点忽略,后运行时可以出现OCX但是这个错误是怎么回事呢 解

mfc求助-在mfc程序中,如何使程序和文档关联起来?

问题描述 在mfc程序中,如何使程序和文档关联起来? 我是一名刚学软件不久的学生,最近在做一个项目,有很多地方不明白,还望大家赐教! 我想做一个文档备份器,但是不知道如何使mfc程序和文档关联起来,即当在某些文档中输入消息时,程序会收到输入相应的消息(输入消息的间隔时间,输入内容,等等) 望各位大神赐教! 谢谢