VC如何改变编辑框的背景颜色方法

VC如何改变编辑框的背景颜色方法
VC如何改变编辑框的背景颜色方法

VC如何改变编辑框的背景颜色方法

这里介绍的改变文本编辑框的背景颜色的方法不需要对CEdit生成新的类,步骤如下:

(1) 新建一个基于对话框的MFC应用程序,程序名称为Test;

(2) 在对话框上添加两个文本框,ID分别为IDC_EDIT1和IDC_EDIT2;

(3) 在CTestDlg的头文件中添加几个成员变量,如下所示;

class CTestDlg : public CDialog

{

protected:

CBrushm_redbrush,m_bluebrush;

COLORREF m_redcolor,m_bluecolor,m_textcolor;

};

(4) 在CTestDlg.cpp文件的BOOL CTestDlg::OnInitDialog()中添加以下代码:BOOL CTestDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

m_redcolor=RGB(255,0,0); // 红色

m_bluecolor=RGB(0,0,255); // 蓝色

m_textcolor=RGB(255,255,255); // 文本颜色设置为白色

m_redbrush.CreateSolidBrush(m_redcolor); // 红色背景色

m_bluebrush.CreateSolidBrush(m_bluecolor); // 蓝色背景色

return TRUE; // return TRUE unless you set the focus to a control

}

(5) 右击对话框空白面,点到右侧属性对话框,点击闪电图标后面的消息图标,为WM_CTLCOLOR添加消息响应函数,编辑代码如下:

HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here

switch (nCtlColor) //对所有同一类型的控件进行判断

{

// process my edit controls by ID.

case CTLCOLOR_EDIT:

case CTLCOLOR_MSGBOX://假设控件是文本框或者消息框,则进入下一个switch switch (pWnd->GetDlgCtrlID())//对某一个特定控件进行判断

{

// first CEdit control ID

case IDC_EDIT1: // 第一个文本框

// here

pDC->SetBkColor(m_bluecolor); // change the background

// color [background colour

// of the text ONLY]

pDC->SetTextColor(m_textcolor); // change the text color

hbr = (HBRUSH) m_bluebrush; // apply the blue brush

// [this fills the control

// rectangle]

break;

// second CEdit control ID

case IDC_EDIT2: // 第二个文本框

// but control is still

// filled with the brush

// color!

pDC->SetBkMode(TRANSPARENT); // make background

// transparent [only affects

// the TEXT itself]

pDC->SetTextColor(m_textcolor); // change the text color

hbr = (HBRUSH) m_redbrush; // apply the red brush

// [this fills the control

// rectangle]

break;

default:

hbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);

break;

}

break;

}

// TODO: Return a different brush if the default is not desired

return hbr;

}

注:case的类别有以下几种:

CTLCOLOR_BTN 按钮控件

CTLCOLOR_DLG 对话框

CTLCOLOR_EDIT 编辑框

CTLCOLOR_LISTBOX 列表框

CTLCOLOR_MSGBOX 消息框

CTLCOLOR_SCROLLBAR 滚动条

CTLCOLOR_STATIC 静态文本

以上方法,对只读的编辑框无效!

在一位大侠的帮助下,终于找到了改变只读编辑框背景的方法:

参考帮助文档“WM_CTLCOLOREDIT”条目下的内容。是说ReadOnly和disabled不发送CTLCOLOR_EDIT。但它发送…CTLCOLOR_STATIC?。

if((nCtlColor == CTLCOLOR_EDIT) || (nCtlColor == CTLCOLOR_STATIC))&&(*pWnd == m_ReadyOnlyEdit){ 。。。。}

但是本方法不适用于多行,继续探索,呵呵~

VC 中自己创建对话框方法

VC中自己创建对话框的方法 这里讲在VC中不需要打开MFC工程,通过代码直接创建一个对话框,我看这个对话框比MFC的漂亮多了,而且要写会代码不需要研究MFC就直接开发新的工程. 先打开VC++ 6.0 版本, 第一步:创建一个工程名为:Main Dialog 的Win32 Application。创建过程如下: 打开File菜单中New,选自Win32 Application,工程名为:Main Dialog,点击OK,再选自A simple Win32 application。点击Finish,再点击OK.(见图1) 第二步:创建资源脚本。再打开File菜单中New,选自File选项的Resource Script(就是资源脚本),文件名为Dialog,点击OK。

(见图2) 第三步:插入对话框。刚才建立的脚本Dialog显示为Dialog.rc,就在Dialog.rc上面点击鼠标右键Insert(插入)Resource中选自插入Dialog(对话框),点击New(新建),这样对话框插入完毕。(见图3)

第四步:添加resource.h。我们把第四步插入的对话框ID改为IDD_MAIN ,在FileView中有个Header Files的文件,上面点击右键,选择Add Files to Folder...(添加文件到目录),弹出一个工程目录窗口,中间找到resource.h,然后OK了(添加)。(见图4)

第五步:复制代码。双击Main Dialog.cpp,我们写代码的位置出现了(见图5),那里有几行代码,把它们全部删掉,下面已经准备好的代码全部复制到那里,编译,执行,您的是否成功了? #include "stdafx.h" #include "resource.h" #include BOOL WINAPI Main_Proc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); BOOL Main_OnInitDialog(HWND hwnd,HWND hwndFocus,LPARAM lParam); void Main_OnCommand(HWND hwnd,int id,HWND hwndCtl,

网页设计代码大全

段落标记background:网页背景图像… bgcolor:网页背景颜色align:left right center text:字体颜色强制换行标记link:可链接文字的色彩

alink:被鼠标点中时可链接文字的颜色预排格式标记vlink:已经单击过的可链接文字的颜色

 leftmargin:页面左边距插入水平线标记topmargin:页面上边距
Vlink:已经单击过的可链接文字的颜色文本缩标记Leftmargin:页面左边距
Topmargin:页面上边距列表标记 标题格式标记 1.无序标题 (范围(h1-h6))
    align:left(左) right(右) center(中)
  • 列1 bottom(底) top(顶)
  • 列2 文字格式标记……… color=“颜色”>文字 type:disc● circle○ square■字形设置标记 2.有序字形字形 下划线
      字形字形文字增大
    1. 列1 字形 删除线
    2. 列2 字形 文字减小………

      VC对话框控件属性的修改

      【作者按】本文主要针对初学者在使用对话框赋值时的一些问题而写。如果你对对话框的使用已经很熟练,请跳过本文。 【针对现象】许多初学者,常常写出这样的程序来修改对话框中某个按钮的标题: 其中m_Btn的定义为CButton m_Btn; 这段程序运行后会报错,debug一下,错误会指向一个断言语句 ASSERT(::IsWindow(m_hWnd));报告窗口指针为空。看一下m_hWnd,等于0x00000000.其实就是m_Btn这个CButton对象的句柄为空。 【原因分析】出现这种错误的原因,显然是m_Btn这个窗口对象还没有创建造成的。我们看一下CMyDialog dlg这个构造函数,看一看MSDN对CDialog构造函数的说明。其实它只是简单的创建了一个对话框实例。这里我这样理解,就是对话框是一个容器,而对话框上的各个控件是容器中包含的对象。对话框的构造函数只是构造了一个容器,而并没有创建容器中的各个对象。我想这里大家就应该明白为什么m_Btn的句柄为空了。 那对话框中的控件在什么时候被创建的呢?我个人没有仔细的研究过,但从个人使用的经验看,应该在DoModal函数和对话框的Create函数中创建的。因为使用一个模式对话框时,m_Btn.SetWindowText("MyButton")语句在OnInitDialog函数中执行没有问题。所以应该在DoModal中创建的。至于DoModal中是如何创建的,欢迎各位高手给与讲解。而对于非模式对话框,以下的程序运行没有问题: 可见控件的创建应该在Create函数中。

      [解决办法]那么,如果非要实现这样的功能怎么办呢?笔者的解决办法是在对话框类中增加成员变量,比如m_sBtnTitle。数据的传递有以下三种方法: 1。增加Set函数,比如SetBtnTitle(CString str); 调用程序如下: 2。将m_sBtnTitle定义成公有类型。 那么dlg.m_sBtnTitle = "MyButton";就可以了。 3。修改或者重载一个新的构造函数,比如: 最后,在对话框类的初始化函数增加m_Btn.SetWindowText(m_sBtnTitle);即可。 还有一些网友提供的方法是定义全局变量。当然,首先肯定全局变量是可以完成此功能的。不过笔者并不赞同用全局变量的方法。对于面向对象的编程和设计来说,全局变量应该尽量少使用,因为全局变量将增加模块之间的耦合度,与面向对象的思想是有违背的。正如goto 语句,好用但尽量少用。在这里笔者并不是反对用全局变量,而是要看情况而用。笔者曾经开发过一个日本项目,粗略计算一下,全局变量不下于1000个,这样的程序的维护难度可想而知。 希望此文能够帮助初学者在VC之路上少走一些歪路,尽快融入VC开发大军。

      网页设计试题及html代码

      2.2.3 字型设置标记 功能:设置文字的风格,如黑体、斜体、带下划线等,这是一组标记,它们可以单独使用,也可以混合使用产生复合修饰效果。常用的标记有以下一些: :文字以粗体显示。 :文字显示为斜体。 :显示下划线。 :删除线。 :使文字大小相对于前面的文字增大一级。 :使文字大小相对于前面的文字减小一级。 :使文字成为前一个字符的上标。 :使文字成为前一个字符的下标。 :使文字显示为闪烁效果。 :以等宽体显示西文字符。 :输出引用方式的字体,通常是斜体。 :强调文字,通常用斜体加黑体。 :特别强调的文字,通常也是斜体加黑体。 注:有些标记的效果必须在动态环境下才能显示,例如 标记。 【例2-4】字型设置标记的应用。 例如单标记


      表示在文档当前位置画一条水平线,一般是从窗口中当前行的最左端一直画到最右端,它可以带这么一些属性:
      。 功能:设置网页中普通文字的显示效果。 格式:文字。 格式:标题内容。 属性:n 表示标题字号的级别,可以是1~6之间的任意整数,数字越小,字号越大。 段落标记 功能:设置文章段落的开始和结束。浏览器在解释HTML文档时,会自动忽略文档中的回车、空格以及其他一些符号,所以在文档中输入回车,并不意味着在浏览器内将看到一个不同的段落,当需要在网页中插入新的段落时,可以使用段落标记,它可以将标记后面的内容另起一段。格式:

      。 强制换行标记 功能:另起一行显示文字。 格式:
      插入水平线标记 功能:在页面上画横线,可用于页面上内容的分割。 格式:
      1.无序列表 功能:设置无序列表。 格式:
      • 列表项目1
      • 列表项目2 属性:在无序列表的开始和结束处,分别是
        标记,每一项列表条目之前必

        VC++实现对话框工程中添加菜单

        VC++对话框程序中添加菜单 在VC中创建一个基于对话框的MFC程序,要在其中添加菜单总共分三步: 1、首先插入一个菜单资源IDR_MENU1,然后可以编辑修改菜单; 2、然后在为对话框添加一个CMenu类型的成员变量m_Menu; 3、在OnInitDialog()中添加如下的代码: m_Menu.LoadMenu(IDR_MENU1);//载入菜单 SetMenu(&m_Menu); //显示菜单 经过这三步以后菜单就可以显示出来了。 MFC 对话框工程中添加菜单(VC++ 6.0编译器) MFC 对话框工程中添加菜单(VC++ 6.0编译器) 第一步:创建对话框资源和菜单资源. 第二步:添加菜单到对话框中 方法一: 在创建的对话框中右键,在Menu选项选择自己的菜单ID如下图

        此时就可以了. 方法二: 不用方法一,直接添加代码完成上述功能. 添加代码到DialogDlg ::OnInitDialog中 CMenu *menu = new CMenu; menu ->LoadMenu(MAKEINTRESOURCE(IDR_MENU)); //IDR_MENU 菜单ID this ->SetMenu(menu); 或者 Cmenu m_menu; m_menu.LoadMenu(IDR_MENU); SetMenu(&m_menu); 此时结果如下图 最后在添加菜单到对话框类中,实现其各种功能. 下面是在上面的基础上实现的通用对话框空间的功能代码,方便以后开发使用. (1)打开文件对话框 条件: OPENFILENAME结构体初始化 GetOpenFileName函数调用

        CSS颜色代码大全

        CSS颜色代码大全转载▼ CSS颜色代码大全

        顏色名稱代碼顏色 maroon #800000 darkred #8B0000 brown #A52A2A firebrick #B22222 crimson #DC143C red #FF0000 桃紅~紛紅 顏色名稱代碼顏色 mediumvioletred #C71585 palevioletred #D87093 deeppink #FF1493 fuchsia(magenta) #FF00FF hotpink #FF69B4 pink #FFC0CB lightpink #FFB6C1 mistyrose #FFE4E1 lavenderblush #FFF0F5 紫 顏色名稱代碼顏色 indigo #4B0082 purple #800080

        darkmagenta #8B008B darkorchid #9932CC blueviolet #8A2BE2 darkviolet #9400D3 slateblue #6A5ACD mediumpurple #9370DB mediumslateblue #7B68EE mediumorchid #BA55D3 violet #EE82EE plum #DDA0DD thistle #D8BFD8 lavender #E6E6FA 褐~橘~米白 顏色名稱代碼顏色 saddlebrown #8B4513 s IE nna #A0522D chocolate #D2691E indianred #CD5C5C rosybrown #BC8F8F lightcorol #F08080 salmon #FA8072 lightsalmon #FFA07A orangered #FF4500 tomato #FF6347 coral #FF7F50 darkorange #FF8C00 sandybrown #F4A460 peru #CD853F tan #D2B48C burlywood #DEB887 wheat #F5DEB3 moccasin #FFE4B5 navajowhite #FFDEAD peachpuff #FFDAB9 bisque #FFE4C4 antuquewhite #FAEBD7

        VC中对话框使用技巧集合

        注:以下代码以一个名为CTest6Dlg的对话框类为例 -------------------------------------------------------------------------------- 1. 在任务栏隐藏对话框 ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); -------------------------------------------------------------------------------- 2. 使对话框为顶层窗口 SetWindowPos(&this->wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE); -------------------------------------------------------------------------------- 3. 在运行时添加最大化,最小化按钮 SetWindowLong(this->m_hWnd, GWL_ST YLE, GetWindowLong(this->m_hWnd, GWL_ST YLE) | WS_MINIM IZEBOX | WS_MAXIMIZEBOX); UpdateWindow(); -------------------------------------------------------------------------------- 4. 使能对话框右上角关闭按钮 在OnInitDialog中 方法一: CMenu* menu = GetSystemMenu(FALSE); menu->Modify M enu(SC_CLOSE, MF_BYCOMMAND | M F_GRAYED ); 方法二: CMenu* menu = GetSystemMenu(FALSE); menu->EnableMenuItem(SC_CLOSE, MF_BYCOMMAND | MF_GRAYED); -------------------------------------------------------------------------------- 5. 当对话框一部分在屏幕外时,显示全部对话框 SendMessage(DM_REPOSITION); -------------------------------------------------------------------------------- 6. 改变鼠标外形 添加WM_SETCURSOR 消息映射函数 BOOL CTest6Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { SetCursor(AfxGetApp()->LoadStandardCursor(IDC_HELP)); return 0; } -------------------------------------------------------------------------------- 7. 改变对话框背景色和文本颜色 在CTest6App的InitInstance中添加

        HTML网页编辑代码大全详细使用方法

        html网页编辑代码大全详细使用方法 添加音乐 注册会员登录首页开通窝窝QQ-交流群站内娱乐颜色代码搜索帖子《声色具全》Summer°啦啦之乖乖宝贝啦啦&毛毛《简粉粉色》莫晓晓《简约蓝色》莫晓晓rose.《简约灰色》莫晓晓圣诞女孩【星期⒏音乐论坛】用心聆听,这里有你想要的声音。?【资源共享】?【论坛HTML帖子常用代码】-发现代码贴好看,不懂的,有兴趣的可以研究下。 网页搜索站内搜索搜索 返回列表回复发帖 发新话题发布投票发布悬赏发布辩论发布活动发布视频发布商品沵旳"唯1。发短消息 加为好友 沵旳"唯1。(只能a1自己。)当前离线 那些所谓d2情〃 UID21618帖子866精华42积分9318威望976金钱3587贡献1450阅读权限150性别女来自寂’在线时间248小时注册时间2009-11-29最后登录2010-3-1 ?星期⒏管理版主? UID21618帖子866精华42积分9318威望976金钱3587贡献1450阅读权限150性别女来自寂’在线时间248小时注册时间2009-11-29最后登录2010-3-1 【楼主】 打印字体大小:tT发表于2010-1-2114:53|只看该作者踩窝 窝送礼物问候Ta【论坛HTML帖子常用代码】-发现代码贴好看,不懂的,有兴趣的可以研究下。 关于“html图片移动...”的内容 本站搜索更多关于“html图片移动代码”的内容 本帖最后由沵旳"唯1。于2010-1-2114:54编辑 一、文字标记 基本代码如下:

        VC++对话框中使用表格控件的方法

        在对话框中使用表格控件的方法: 将该控件改成“report”类型,方法如下。 首先打开该控件的属性,将其设置为“Report”类型,如下图所示。

        改完后变为如下形式,是变成了一个列表框。 下面说一下如何通过代码向控件中填加内容,主要是设置表头,然后加入内容,至少有两种方法可以进行信息的加入,下面仅介绍一种。 首先向与对话框对应的类中加入一个与ListControl控件对应的成员函数。填加方法如下:

        运行“ClassWizard”定义一个类的ListCtrl控件成员,填加界面如下,其中IDC_LIST1是上面填加的表格控件的ID 。 选中“Member Variables”标签,点击“Add Variable”出现如下对话框,添加变量名,添加后,就会在与对话框对应的类中加如m_List变量,类型为CListCtrl。

        在程序中加入如下代码,实现在表格中显示信息: m_List.InsertColumn(0,"Col 1",LVCFMT_LEFT,80,0); //设置列 m_List.InsertColumn(1,"Col 2",LVCFMT_LEFT,80,1); m_List.InsertColumn(2,"Col 3",LVCFMT_LEFT,80,2); m_List.InsertItem(0,"Item 1_1"); //插入行 m_List.SetItemText(0,1,"Item 1_2"); //设置该行的不同列的显示字符m_List.SetItemText(0,2,"Item 1_3"); 运行上面几行代码后的效果如下图所示。

        Html网页字体颜色代码大全

        Html网页字体颜色代码大全 好多人找html网页字体颜色都要去PS或者fireworks里面对照看下,那样太麻烦了,我给大家总结出一些用于Html网页文字颜色的代码,以免在去大家软件看看是什么颜色,html网页的代码太多了,我找的这些都是基本常用的字体颜色吧!也记录给我自己用的,以后就不会在去软件里面看下到底用哪种文字代码,希望大家喜欢!至于怎么详细的操作就不用我给大家说了吧!呵呵,喜欢的话大家赶快搜藏起来吧!以免用的时候方面喔!看看是不是大全啊? 输入文字 颜色代码大全: 1 白颜色 #FFFFFF 2 红颜色 #FF0000 3 绿颜色 #00FF00 4 蓝颜色 #0000FF 5 牡丹红 #FF00FF 6 青颜色 #00FFFF 7 黄颜色 #FFFF00 8 黑颜色 #000000 9 海颜蓝 #70DB93 10 巧克力色 #5C3317 11 蓝紫色 #9F5F9F 12 黄铜色 #B5A642 13 亮金色 #D9D919 14 棕色 #A67D3D 15 青铜色 #8C7853 16 2号青铜色 #A67D3D 17 士官服蓝色 #5F9F9F 18 冷铜色 #D98719 19 铜色 #B87333 20 珊瑚红 #FF7F00 21 紫蓝色 #42426F 22 深棕 #5C4033 23 深绿 #2F4F2F 24 深铜绿色 #4A766E 25 深橄榄绿 #4F4F2F 26 深兰花色 #9932CD 27 深紫色 #871F78 28 深石板蓝 #6B238E 29 深铅灰色 #2F4F4F 30 深棕褐色 #97694F 32 深绿松石色 #7093DB 33 暗木色 #855E42 34 淡灰色 #545454 35 土灰玫瑰红色#856363 36 长石色 #D19275 37 火砖色 #8E2323 38 森林绿 #238E23 39 金色 #CD7F32 40 鲜黄色 #DBDB70 41 灰色 #C0C0C0 42 铜绿色 #527F76 43 青黄色 #93DB70 44 猎人绿 #215E21 45 印度红 #4E2F2F 46 土黄色 #9F9F5F 47 浅蓝色 #C0D9D9 48 浅灰色 #A8A8A8 49 浅钢蓝色 #8F8FBD

        VC 对话框自带滚动条的使用

        VC对话框自带滚动条的使用 一,使用对话框窗口自带的滚动条,在属性页面中设置即可,如下 二,OnInitDialog()函数中,添加如下滚动条初始化语句 SCROLLINFO vinfo; vinfo.cbSize =sizeof(vinfo); vinfo.fMask =SIF_ALL; vinfo.nPage =50;//滚动块自身的长短,通常有如下关系:其长度/滚动条长度(含两个箭头)=nPage/(nMax+2),//另外nPage取值-1时,滚动条会不见了。 vinfo.nMax =600;//滚动条所能滚动的最大值 vinfo.nMin=0;//滚动条所能滚动的最小值 vinfo.nTrackPos =0; SetScrollInfo(SB_VERT,&vinfo);//即使上述步骤一不做,使用此条语句也可以显示滚动条 三,添加相应的WM_VSCROLL函数

        void CMy1d0Dlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default SCROLLINFO scrollinfo; GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); switch (nSBCode) { case SB_BOTTOM: //滑块滚动到最底部 ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10); //滚动屏幕 scrollinfo.nPos = scrollinfo.nMax; //设定滑块新位置 SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); //更新滑块位置 break; case SB_TOP: //滑块滚动到最顶部 ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin)*10); scrollinfo.nPos = scrollinfo.nMin; SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); break; case SB_LINEUP: //单击上箭头 scrollinfo.nPos -= 1; if (scrollinfo.nPosscrollinfo.nMax) { scrollinfo.nPos = scrollinfo.nMax; break; } SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); ScrollWindow(0,-10); break; case SB_PAGEUP: //单击滑块上方空白区域 scrollinfo.nPos -= 5; if (scrollinfo.nPos

        网页颜色选择器 - 颜色代码对照表

        网页颜色选择器- 颜色代码对照表用法: 点击你需要的颜色,屏幕就会呈现出效果,并显示出颜色的名称和颜色数值 使用方法:把代码复制到记事本中,再把.txt保存为.html格式或.mht格式就可以了 是制作网页时的好帮手

        网页颜色选择器- 颜色代码对照表