vs2005vc2005_mfc_控件颜色自绘重绘_编辑框_组合框

2024-04-30 02:38

本文主要是介绍vs2005vc2005_mfc_控件颜色自绘重绘_编辑框_组合框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vs2005vc2005_mfc_控件颜色自绘重绘_编辑框_组合框

ccombox,编辑控件,groupbox,静态文本,字体颜色

设置透明,设置背景颜色,设置文本颜色

1.主窗口-属性-消息,添加WM_CTLCOLOR,然后编辑代码

 

HBRUSH CInfoBridgeDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO:  在此更改 DC 的任何属性if (pWnd->GetDlgCtrlID() == IDC_STATIC_ConfigInfo)//静态文本设置红色{//pDC->SetTextColor(RGB(255, 255, 0));//pDC->SelectObject(&control_font);pDC->SetTextColor(RED);pDC->SetBkMode(TRANSPARENT);return m_Brush;}if (pWnd->GetDlgCtrlID() == IDC_STATIC_ReceiveWindow)//静态文本设置红色{//pDC->SetTextColor(RGB(255, 255, 0));//pDC->SelectObject(&control_font);pDC->SetTextColor(RED);pDC->SetBkMode(TRANSPARENT);return m_Brush;}if (pWnd->GetDlgCtrlID() == IDC_STATIC_SendText)//静态文本设置红色{//pDC->SetTextColor(RGB(255, 255, 0));//pDC->SelectObject(&control_font);pDC->SetTextColor(RED);pDC->SetBkMode(TRANSPARENT);return m_Brush;}if (pWnd->GetDlgCtrlID() == IDC_EDIT_SendText)//发送内容文本框{//pDC->SetTextColor(RGB(255, 255, 0));//pDC->SelectObject(&control_font);pDC->SetTextColor(WHITE);pDC->SetBkColor(DodgerBlue1);pDC->SetBkMode(TRANSPARENT);return m_Brush;}if (pWnd->GetDlgCtrlID() == IDC_BUTTON_SendMessage)//静态文本设置红色{//pDC->SetTextColor(RGB(255, 255, 0));//pDC->SelectObject(&control_font);// pDC->SetTextColor(WHITE);//pDC->SetBkMode(TRANSPARENT);return m_Brush;}
// if (pWnd->GetDlgCtrlID() == IDC_COMBO_Entity_ID)//设置组合框{pDC->SetTextColor(WHITE);pDC->SetBkColor(DodgerBlue1);pDC->SetBkMode(TRANSPARENT);return m_Brush;}return m_Brush;// TODO:  如果默认的不是所需画笔,则返回另一个画笔return hbr;
}

头文件添加:

CBrush m_Brush;

OnInitDialog函数里面:

m_Brush.CreateSolidBrush(DodgerBlue1); //背景颜色

头文件顶部包含颜色配置方案
 

#pragma comment(lib, "Uxtheme.lib")
//using namespace std;
const COLORREF DodgerBlue1 =RGB (30, 144, 255);
const COLORREF CLOUDBLUE = RGB(128, 184, 223);
const COLORREF WHITE = RGB(255, 255, 255);
const COLORREF BLACK = RGB(1, 1, 1);
const COLORREF DKGRAY = RGB(128, 128, 128);
const COLORREF LTGRAY = RGB(192, 192, 192);
const COLORREF YELLOW = RGB(255, 255, 0);
const COLORREF DKYELLOW = RGB(128, 128, 0);
const COLORREF RED = RGB(255, 0, 0);
const COLORREF DKRED = RGB(128, 0, 0);
const COLORREF DEEPPINK = RGB(255, 20, 147);
const COLORREF BLUE = RGB(0, 0, 255);
const COLORREF DKBLUE = RGB(0, 0, 128);
const COLORREF CYAN = RGB(0, 255, 255);
const COLORREF DKCYAN = RGB(0, 128, 128);
const COLORREF GRAY = RGB(190, 190, 190);
const COLORREF GREEN = RGB(0, 255, 0);
const COLORREF DKGREEN = RGB(0, 128, 0);
const COLORREF MAGENTA = RGB(255, 0, 255);
const COLORREF DKMAGENTA = RGB(128, 0, 128);
const COLORREF BROWN = RGB(255, 128, 128);
const COLORREF DDKGRAY = RGB(255, 255, 255);
const COLORREF LLTGRAY = RGB(230, 230, 230);
const COLORREF LTBLUE = RGB(150, 150, 255);
const COLORREF LLTBLUE = RGB(0, 128, 255);
const COLORREF SNOW2 = RGB(238, 233, 233);
const COLORREF HONEYDEW1 = RGB(240, 255, 240);
const COLORREF GRAY1 = RGB(185, 185, 185);
const COLORREF GRAY2 = RGB(205, 205, 205);
const COLORREF SPRINGGREEN = RGB(60, 179, 113);

组合框属性参考:

 

这篇关于vs2005vc2005_mfc_控件颜色自绘重绘_编辑框_组合框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947725

相关文章

hdu4869(逆元+求组合数)

//输入n,m,n表示翻牌的次数,m表示牌的数目,求经过n次操作后共有几种状态#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#includ

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

Go组合

摘要 golang并非完全面向对象的程序语言,为了实现面向对象的继承这一神奇的功能,golang允许struct间使用匿名引入的方式实现对象属性方法的组合 组合使用注意项 使用匿名引入的方式来组合其他struct 默认优先调用外层方法 可以指定匿名struct以调用内层方法 代码 package mainimport ("fmt")type People struct{}type Pe

小程序button控件上下边框的显示和隐藏

问题 想使用button自带的loading图标功能,但又不需要button显示边框线 button控件有一条淡灰色的边框,在控件上了样式 border:none; 无法让button边框隐藏 代码如下: <button class="btn">.btn{border:none; /*一般使用这个就是可以去掉边框了*/} 解决方案 发现button控件有一个伪元素(::after

MFC中Spin Control控件使用,同时数据在Edit Control中显示

实现mfc spin control 上下滚动,只需捕捉spin control 的 UDN_DELTAPOD 消息,如下:  OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult) {  LPNMUPDOWN pNMUpDown = reinterpret_cast(pNMHDR);  // TODO: 在此添加控件通知处理程序代码    if

控制台和MFC中内存泄露工具vld的使用

最近想检测下项目中内存泄露的情况,选中了vld这款。在查找使用方法的时候,大都是控制台下的示例,添加到main函数所在的源文件上。换成MFC就纠结了,不知道添加到哪里去。本文记录控制台和MFC中的使用vld过程。    vld资源:    1)、大家可以移步下边的网址下载:     http://vld.codeplex.com/releases/view/82311    2

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

PNG透明背景按钮的实现(MFC)

问题描述: 当前要在对话框上添加一个以两个PNG图片作为背景的按钮,PNG图的背景是透明的,按钮也要做出相同的透明效果。并且鼠标不在按钮上时,按钮显示"bg1.png";鼠标移动到按钮上时,按钮显示"bg2.png" 开发环境为VS2010。 解决办法: 使用GDI+库装载PNG图片,并使用MFC Button Control和CMFCButton类结合,调用CMFCButton

MFC 控件重绘(2) NM_CUSTOMDRAW, WM_DRAWITEM, 虚函数DrawItem

控件重绘有三种方法: 1 设定界面属性 2 利用Windows的消息机制,通过Windows消息映射(Message Mapping)和反映射(Message Reflecting),在合适的时机修改控件的状态和行为。此方式涉及NM_CUSTOMDRAW和WM_DRAWITEM 3 利用虚函数机制,重载虚函数。即DrawItem虚函数。 对于NM_CUSTOMDRAW,某些支持此消息的控件

组合c(m,n)的计算方法

问题:求解组合数C(n,m),即从n个相同物品中取出m个的方案数,由于结果可能非常大,对结果模10007即可。       共四种方案。ps:注意使用限制。 方案1: 暴力求解,C(n,m)=n*(n-1)*...*(n-m+1)/m!,n<=15 ; int Combination(int n, int m) { const int M = 10007; int