如何改变对话框中Edit Box控件的背景色和显示内容的颜色和字体

合集下载

设置文本框样式和颜色的方法步骤

设置文本框样式和颜色的方法步骤

设置文本框样式和颜色的方法步骤
在Word2010文档中,用户可以根据文档需要为文本框设置纯颜色填充、渐变颜色填充、图片填充或纹理填充,使文本框更具表现力。

在Word2010文档中设置文本框填充效果的步骤如下所述,下面一起跟店铺来看看吧!
文本框样式和颜的设置方法
设置文本框样式和颜色步骤1:点击【插入】--》【文本框】--【简单文本框】
设置文本框样式和颜色步骤2:在文本框中输入自己想要写的文字设置文本框样式和颜色步骤3:此时,就完成了文本框的插入。

默认情况下,文本框有一个黑色的边框。

如图
设置文本框样式和颜色步骤4:选中这个文本框,则会出现【绘图工具】菜单。

点击【绘图工具】--》【格式】--》【形状轮廓】
设置文本框样式和颜色步骤5:点击【形状轮廓】下面的【无轮廓】。

此时该文本框黑色的边框线就消失了
设置文本框样式和颜色步骤6:用同样的方法。

插入一个新的文本框。

设置文本框样式和颜色步骤7:点击【绘图工具】--》【格式】--》【形状轮廓】
选择轮廓的【主体颜色】以及【粗细】
设置文本框样式和颜色步骤8:这样就设置好了下面这个带有橙色粗边框的文本框了。

vc根据字体对话框和颜色对话框设置控件里的字体和颜色

vc根据字体对话框和颜色对话框设置控件里的字体和颜色

vc 根据字体对话框和颜色对话框设置控件里的字体和颜色vc 根据字体对话框和颜色对话框设置控件里的字体和颜色2009-05-23 10:13:25| 分类:VC&MFC|字号订阅视频教程及其源码下载地址/source/780472 题目:编写一个基于对话框的应用程序,要求其能实现如下功能:(1)可以用来打开及显示文本文件。

(2)可以设置所显示的文本的字体颜色。

★打开Microsoft Visual C++ 6.0 文件->新建选择MFC AppWizard(exe) 输入工程文件名。

这里填写09 点击确定按钮,程序将自动出现MFC应用程序向导选择基本对话框点击完成按钮出现新建工程信息对话框。

点击确定按钮★★★★首先是定义颜色类★★★★★ ★点工具栏->插入->类name 任意填写这里填的是CStatic09 Base class选择CStatic 点击确定按钮。

★鼠标切换左边的类视图区出现09 classes 鼠标左键双击CStatic09 左边将出现N行代码找到class My09Static : public CStatic { // Construction public: My09Static(); 。

在下面输入:private: COLORREF m_ForeColor; //文本颜色COLORREF m_BackColor; //背景色CBrushm_BkBrush; //背景刷public: voidSetForeColor(COLORREF color);//设置文本颜色void SetBkColor(COLORREF color);//设置背景颜色找到protected: //{{AFX_MSG(My09Static) // NOTE - the ClassWizard will add and remove member functions here. /}}AFX_MSG DECLARE_MESSAGE_MAP() 在中间加入afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);//消息响应函数效果如下:protected://{{AFX_MSG(My09Static) // NOTE - the ClassWizard will add and remove member functions here. afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);//消息响应函数/}}AFX_MSG DECLARE_MESSAGE_MAP() ★点击CStatic09左边的+号按钮出现CStatic09() 右键双击CStatic09() 左边将出现N行代码找到CStatic09::CStatic09() { } 在大括号与小括号之间输入://文字颜色m_ForeColor =GetSysColor( COLOR_BTNTEXT ); //背景色m_BackColor = GetSysColor( COLOR_BTNFACE ); //背景刷m_BkBrush.CreateSolidBrush(m_BackColor); 找到BEGIN_MESSAGE_MAP(My09Static, CStatic)//{{AFX_MSG_MAP(My09Static) // NOTE - the ClassWizard will add and remove mapping macros here. //}}AFX_MSG_MAP END_MESSAGE_MAP() 在中间输入ON_WM_CTLCOLOR_REFLECT()//颜色宏定义效果如下BEGIN_MESSAGE_MAP(My09Static, CStatic)//{{AFX_MSG_MAP(My09Static) // NOTE - the ClassWizard will add and remove mapping macros here. ON_WM_CTLCOLOR_REFLECT()//颜色宏定义//}}AFX_MSG_MAP END_MESSAGE_MAP() 最后找到///////////////////////////////////////////////////////////////////////////// // CStatic09 message handlers 在下面输入HBRUSH CStatic09::CtlColor(CDC* pDC, UINT nCtlColor){ pDC->SetTextColor( m_ForeColor );pDC->SetBkColor( m_BackColor ); return (HBRUSH)m_BkBrush.GetSafeHandle(); } void CStatic09::SetForeColor(COLORREF color) //设置文本颜色{ m_ForeColor = color; } voidCStatic09::SetBkColor(COLORREF color) //设置背景颜色{ m_BackColor = color; m_BkBrush.Detach();m_BkBrush.CreateSolidBrush( m_BackColor ); } 设置对话框代码找到类视图中的CMu09Dlg,双击后显示代码。

如何改变对话或窗体视窗的背景颜色

如何改变对话或窗体视窗的背景颜色

如何改变对话或窗体视窗的背景颜色调用CWinApp : : SetDialogBkColor可以改变所有应用程序的背景颜色。

第一个参数指定了背景颜色,第二个参数指定了文本颜色。

下例将应用程序对话设置为蓝色背景和黄色文本。

BOOL CSampleApp : : InitInstance ( ){…//use blue dialog with yellow text .SetDialogBkColor (RGB (0, 0, 255 ), RGB ( 255 ,255 , 0 ) )…}需要重画对话(或对话的子控件)时,Windows向对话发送消息WM_CTLCOLOR,通常用户可以让Windows选择绘画背景的刷子,也可重置该消息指定刷子。

下例说明了创建一个红色背景对话的步骤。

首先,给对话基类增加一人成员变量CBursh :classCMyFormView : public CFormView{…private :CBrush m_ brush // background brush…}其次,在类的构造函数中将刷子初始化为所需要的背景颜色。

CMyFormView : : CMyFormView ( ){// Initialize background brush .m_brush .CreateSolidBrush (RGB ( 0, 0, 255) )}最后,使用ClassWizard处理WM_CTLCOLOR消息并返回一个用来绘画对话背景的刷子句柄。

注意:由于当重画对话控件时也要调用该函数,所以要检测nCtlColor参量。

HBRUSH CMyFormView : : OnCtlColor (CDC* pDC , CWnd*pWnd , UINT nCtlColor ){// Determine if drawing a dialog box . If we are, return +handle to //our own background brush . Otherwise let windows handle it .if (nCtlColor = = CTLCOLOR _ DLG )return (HBRUSH) m_brush.GetSafeHandle ( )returnCFormView : : OnCtlColor (pDC, pWnd , nCtlColor)}。

如何改变对话框中控件及其文本的颜色

如何改变对话框中控件及其文本的颜色

如何改变对话框中控件及其文本的颜色
河南理工大学/韦未来
相信各位刚接触VC的朋友也和我一样想知道如何把控件设置得更漂亮些,但由于所学有限,在这篇文章中,我们只来探讨如何改变ListBox控件及其文本的颜色。

这是我从别人那学过来的,演练了一遍并稍加整理,现贴出来,献给和我一样在学习的道路上苦苦求索的各位友友们。

第一步:
创建一个基于对话框的工程(这里我们将其命名为“控件练习”),然后在对话框中加入一个ListBox控件。

如图所示:
第二步:
在“控件练习Dlg.h”中加入一个成员变量:CBrush m_brush;
第三步:
在OnInitDialog 中加入如图所示代码:
其中RGB(144,101,210)是设置ListBox 的背景色。

接下来我们利用类向导给LisBox 控件添加一个Control 类型的成员变量m_ctrlListBox
,如图:
再在OnInitDialog()中添加如图所示代码:
其中括号内中文字符为控件中显示的内容,可以随意改动。

第四步:
利用类向导给对话框“控件练习Dlg”添加WM_CTLCOLOR 事件,如图:
然后进入OnCtlColor(),添加如图所示代码:
最后编译运行,结果如下:。

如何改变控件的字体和字体颜色

如何改变控件的字体和字体颜色

如何改变控件的字体和字体颜色如何改变控件的字体和字体颜色问题详述很多时候,对话框上各种子控件需要不同的的字体以达到某种效果,该如何实现呢?专家解答由于控件也是窗口,用户可以调用CWnd::SetFont指定新字体。

该函数用了一个CFont指针,要保证在控件撤销之前不能撤销该字体对象。

下面介绍一下该函数:CWnd::SetFontThis method sets the current font of the window to the specified font.void SetFont(CFont* pFont,BOOL bRedraw = TRUE );ParameterspFontSpecifies the new font.bRedrawIf TRUE, redraw the CWnd object.RequirementsWindows CE versions: 1.0 and laterHeader file: Declared in Afxwin.hPlatform: H/PC Pro, Palm-size PC, Pocket PC与此函数对应的还有CFont::GetFontCWnd::GetFontThis method retrieves the current font for this window.CFont* GetFont( )const;Return ValueReturns a pointer to a CFont that contains the current font.The pointer may be temporary and should not be stored for later use.RequirementsWindows CE versions: 1.0 and laterHeader file: Declared in Afxwin.hPlatform: H/PC Pro, Palm-size PC, Pocket PC本问题的对应工程为CtrlFont,相关代码如下://在对话框头文件中声明两个字体变量,分别对应两个按钮的字体Protected:CFont m_fntOk;//ok按钮对应的字体CFont m_fntCancel;//cancel按钮对应的字体//设置字体BOOL CCtrlFontDlg::OnInitDialog(){CDialog::OnInitDialog();//创建字体m_fntOk.CreateFont(MulDiv(8,GetDC()->GetDeviceCaps(LO GPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,OUT_STR OKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,VARIABLE_PI TCH|FF_SWISS,_T(“Arial”));//设置ok按钮的字体CWnd *pWnd=GetDlgItem(IDOK);pWnd-.SetFont(&m_fntOk);//创建字体m_fntCancel.CreateFont(12,10,10,10,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRE CIS,DEFAULT_QUALITY,DEFAULT_PITCH|SWISS,””);//设置cancel按钮的字体pWnd=GetDlgItem(IDCANCEL);pWnd->SetFont(&m_fntCancel);//IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<0xF000);CMenu* pSysMenu=GetSystemMenu(FALSE);If(pSysMenu!=NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_AEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,str AboutMenu);}}//Set the icon for this dialog. The framework does this automatically//when the application’s main window is not a dialogSetIcon(m_hIcon,TRUE);SetIcon(m_hIcon,FALSE);Return TRUE;}//设置字体颜色在MFC类库中提供了CWnd::OnCtlColor函数在工作框架的窗口被重画时将调用该成员函数,因此可以重载WM_CTLCOLOR消息的响应函数,此函数的原型:CWnd::OnCtlColorThis method is called by the framework when a child control is about to be drawn. Most controls send this message to their parent, usually a dialog box, to prepare the pDC for drawing the control using the correct colors.afx_msg HBRUSH OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor);ParameterspDCContains a pointer to the display context for the child window. May be temporary.pWndContains a pointer to the control asking for the color. May be temporary.nCtlColorContains one of the following values, specifying the type of control: (指定控件的类型)· CTLCOLOR_BTN Button control (按钮控件)· CTLCOLOR_DLG Dialog box (对话框)· CTLCOLOR_EDIT Edit control (编辑控件)· CTLCOLOR_LISTBOX List-box control (列表控件)· CTLCOLOR_MSGBOX Message box (消息框)· CTLCOLOR_SCROLLBAR Scroll-bar control (滚动条控件)· CTLCOLOR_STATIC Static control (静态控件)Return ValueOnCtlColor must return a handle to the brush that is to be used for painting the control background.RemarksTo change the text color, call the SetTextColor method with the desired red, green, and blue (RGB) values.To change the background color of a single-line edit control, set the brush handle in both the CTLCOLOR_EDIT and CTLCOLOR_MSGBOX message codes, and call the CDC::SetBkColor method in response to the CTLCOLOR_EDIT code.OnCtlColor will not be called for the list box of a drop-down combo box because the drop-down list box is actually a child of the combo box and not a child of the window. To change the color of the drop-down list box, create a CComboBox with an override of OnCtlColor that checks for CTLCOLOR_LISTBOX in the nCtlColor parameter. In this handler, the SetBkColor method must be used to set the background color for the text.This method is called by the framework to allow your application to handle a Windows CE message. The parameters passed to your method reflect the parameters received by the framework when the message was received. If you call the base-class implementation of this method, that implementation will use the parameters originally passed with the message and not the parameters you supply to the method.Example// This OnCtlColor handler will change the color of a static control// with the ID of IDC_MYSTATIC. The code assumes that the CMyDialog// class has an initialized and created CBrush member named m_brush.// The control will be painted with red text and a background // color of m_brush.HBRUSH CZilchDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){// Call the base class implementation first! Otherwise, it may // undo what we are trying to accomplish here.HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// Are we painting the IDC_MYSTATIC control? We can use // CWnd::GetDlgCtrlID() to perform the most efficient test.if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC){// Set the text color to red.pDC->SetT extColor(RGB(255, 0, 0));// Set the background mode for text to transparent// so background will show thru.pDC->SetBkMode(TRANSPARENT);// Return handle to our CBrush object.hbr = m_brush;}return hbr;}假设你已有了名为My的对话框工程,你有了一个STATIC的控件,IDC_STATIC1HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: Change any attributes of the DC hereif(nCtlColor==CTLCOLOR_STATIC){pDC->SetT extColor(RGB(255,0,0));//字体颜色pDC->SetBkColor(RGB(0,0,255));//字体背景颜色}// TODO: Return a different brush if the default is not desired return hbr;}如果要指定某个特定控件可以这样写:ID为IDC_STATIC1if(pWnd->GetDlgCtlID()==IDC_STATIC1){pDC->SetT extColor(RGB(255,0,0));//pDC->SetBkMode(TRANSPARENT);//设置字体背景为透明return (HBRUSH)::GetStockObject(BLACK_BRUSH);//设置背景色}Return hbr;。

用滚动条调整TextBox的背景颜色

用滚动条调整TextBox的背景颜色

用滚动条调整TextBox的背景颜色创建如图1的程序界面:图1步骤如下:1、在VB6.0窗口界面的左边工具栏中,使用Lable()创建土1中的四个标签,并分别命名为红Red、绿Green、蓝Blue以及大小等。

2、使用TextBox(),创建一个文本框,命名为TextBackColor,值为空。

3、使用Hscrollbar()、Vscrollbar()创建图1中的水平及竖直滚动条,并分别命名为HsbRed、HsbGreen、HsbBlue及VSbsize等。

由于三原色的大小取值为0-255,故将三个滚动条的Max值设为255。

同样,竖直滚动条显示上述所创建文本框的显示大小,故设其Caption为100%。

4、上述创建的结果如图2。

图2以下对相应控件进行编程:1、双击红色滚动条,弹出程序代码窗口如图3。

图32、下拉菜单中选中HsbRed(对象)及Change(过程),输入Private Sub HsbRed_Change()TextBackColor.BackColor=RGB(HsbRed.Value,HsbGreen.Value,HsbBlue.Value) End Sub3、下拉菜单中选中HsbRed及Scroll也输入上面的代码:Private Sub HsbRed_Scroll()TextBackColor.BackColor=RGB(HsbRed.Value,HsbGreen.Value,HsbBlue.Value) End Sub4、同理,在绿色与蓝色滚动条中输入相应代码。

这样,通过滚动条控制文本框背景色的目的达到了。

5、下拉菜单中选择“通用”选项,定义全局全量,用来储存文本框的原始尺寸,输入:Dim Iwidth As IntegerDim Iheight As Integer6、下拉菜单中选中Vsbsize及Change(Scroll)用来改变文本框尺寸的竖向滚动条,输入如下代码:Change事件:Private Sub VsbSize_Change()TextBackColor.Width=Iwidth*(VsbSize.Value/100)TextBackColor.Height=Iheight*(VsbSize.Value/100)Lblsize.Caption=VsbSize.Value&"%"End SubScroll事件:Private Sub VsbSize_Scroll()TextBackColor.Width=Iwidth*(VsbSize.Value/100)TextBackColor.Height=Iheight*(VsbSize.Value/100)Lblsize.Caption=VsbSize.Value&"%"End Sub7、下拉菜单选择Form及Load,输入以下代码:Private Sub Form_Load()Iwidth=TextBackColor.WidthIheight=TextBackColor.HeightLblsize.Caption="100%"End Sub8、调试,结果如图4。

VC改变对话框按钮字体颜色和背景的解决方案[整理]

VC改变对话框按钮字体颜色和背景的解决方案[整理]

VC改变对话框按钮字体颜色和背景的解决方案要想修改CButton类按钮背景颜色和文字颜色,必须利用自绘方法对按钮进行重新绘制。

这可以通过定义一个以CButton为基类的新按钮类来实现。

以下为具体的实现方法:方法一:加入一个新类,类名:CButtonEx,基类:CButton。

在头文件 CButtonEx.h 中加入以下变量和函数定义:private:int m_Style; //按钮形状(0-正常,1-当前,2-按下,3-锁定)BOOL b_InRect; //鼠标进入标志CString m_strText; //按钮文字COLORREF m_ForeColor; //文本颜色COLORREF m_BackColor; //背景色COLORREF m_LockForeColor; //锁定按钮的文字颜色CRect m_ButRect; //按钮尺寸CFont* p_Font; //字体void DrawButton(CDC *pDC); //画正常的按钮// 接口函数public:void SetText(CString str);void SetForeColor(COLORREF color); //设置文本颜色void SetBkColor(COLORREF color); //设置背景颜色void SetTextFont(int FontHight,LPCTSTR FontName); //设置字体在 CButtonEx.cpp 的构造函数中初始化变量:CButtonEx::CButtonEx(){m_Style = 0; //按钮形状风格b_InRect = false; //鼠标进入标志m_strText = _T(""); //按钮文字(使用默认文字) m_ForeColor = RGB(0,0,0); //文字颜色(黑色) m_BackColor = RGB(243,243,243); //背景色(灰白色)m_LockForeColor = GetSysColor(COLOR_GRAYTEXT); //锁定按钮的文字颜色p_Font = NULL; //字体指针}用ClassWizard添加下列消息函数:PreSubclassWindow();DrawItem();onMouseMove();OnLButtonDown();OnLButtonUp();在各函数内加入代码:void CButtonEx::PreSubclassWindow(){ModifyStyle( 0, BS_OWNERDRAW ); //设置按钮属性为自画式CButton::PreSubclassWindow();}PreSubclassWindow()在按钮创建前自动执行,所以我们可以在其中做一些初始工作。

MFC 设置控件字体颜色、背景透明

MFC 设置控件字体颜色、背景透明

1.打开对应对话框的类向导ClassWizard。

2.在消息映射MessageMaps中添加消息Message:WM_CTLCOLOR。

3.然后程序代码中会添加进函数:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)4.在这个函数中添加if语句,其中的条件表达式改成想要设置的控件;比如改成: if (pWnd-&gt; GetDlgCtrlID() == IDC_STATIC1 || pWnd-&gt; GetDlgCtrlID() == IDC_STATIC2)注意,控件ID最好改过,如果多个控件使用同个默认ID,函数则不识别。

5.在if中添加以下语句:pDC-&gt;SetTextColor(RGB(255,255,255)); //设置字体为白色pDC-&gt;SetBkMode(TRANSPARENT); //设置背景为透明整个函数的代码如下:HBRUSH CHall::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);if (pWnd-&gt; GetDlgCtrlID() == IDC_STATIC1 || pWnd-&gt; GetDlgCtrlID() == IDC_STATIC2 || pWnd-&gt; GetDlgCtrlID() == IDC_STATIC3){pDC-&gt;SetBkMode(TRANSPARENT); //设置背景透明pDC-&gt;SetTextColor(RGB(255,255,255));return HBRUSH(GetStockObject(HOLLOW_BRUSH));}return hbr;}。

用WM_CTLCOLOR消息实现编辑控件的文本与背景色的改变

用WM_CTLCOLOR消息实现编辑控件的文本与背景色的改变

例一通过消息WM_CTLCOLOR我们可以改变对话框或一些特殊控件的背景颜色1、添加WM_CTLCOLOR消息映射。

2、在CWnd::OnCtlColor里面作相应的处理HRESULT CWnd::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor) {switch (nCtlColor){case CTLCOLOR_BTN: // Button control {pDC->SetBkColor( RGB( 255, 0, 0) );}break;case CTLCOLOR_DLG: // Dialog boxbreak;case CTLCOLOR_EDIT: // Edit control {COLORREF bkColor = RGB(255,0,0);CRect rect;pWnd->GetClientRect(&rect);CBrush br;br.CreateSolidBrush(bkColor);pDC->FillRect(rect, &br);*/pDC->SetBkColor(bkColor);}break;case CTLCOLOR_LISTBOX: // List-box controlbreak;case CTLCOLOR_MSGBOX: // Message boxbreak;case CTLCOLOR_SCROLLBAR: // Scroll-bar controlbreak;case CTLCOLOR_STATIC: // Static controlbreak;default:break;}return CWnd::OnCtlColor(pDC, pWnd, nCtlColor);}///---------------------------------------------------------改变对话框中静态文本控件的背景色直接在OnCtrlColor函数处理反射消息HBRUSH CJpeg2BmpDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: Change any attributes of the DC hereif( nCtlColor == CTLCOLOR_BTN){pDC->SetBkMode(TRANSPARENT);return m_brush;}// TODO: Return a different brush if the default is not desiredreturn hbr;}在OnInitDialog中初始化brushm_brush.CreateSolidBrush(RGB(255,0,0));同样的道理,对于对话框来说,要设置背景颜色也可以在这里头处理,判断条件稍微修改一下:if( nCtlColor == CTLCOLOR_DLG)对于一般的控件来说,都可以在对话框的OnCtlColor函数中处理反射消息,控件在绘制的时候都会调用父窗体的OnCtrlColor来获取背景刷子(也就是发WM_CTLCOLOR消息给父窗体来获取画背景的刷子),例如,对于static 、text等控件都可以这么处理,但是对于Button来说,不行!按照上面的方式对Button设置没有任何效果。

VC++ 改变控件字体大小颜色的方法

VC++ 改变控件字体大小颜色的方法
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//change the color of dialog
if(nCtlColor==CTLCOLOR_DLG)
很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等,其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!
WM_CTLCOLOR消息,使你可以告诉Windows在画各种控件的背景时用什么刷子。在Windows要画控件的时候,它发送WM_CTLCOLOR给控件的父窗口。这是你改变控件背景的好机会。
CFont font;
font.CreatePointFont(100, _T("宋体"));//改变大小
m_wndEditBox.SetFont(&font);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////改变字体颜色////////////////////////////////////////////////////////////////
首先在自己需要设置界面的对话框上点击右键-->在右侧属性栏中加入WM_CTLCOLOR消息-->自动生成OnCtlColor

如何更改Dialog的标题与按钮颜色详解

如何更改Dialog的标题与按钮颜色详解

如何更改Dialog的标题与按钮颜⾊详解前⾔本⽂主要给⼤家介绍了如何更改Dialog的标题与按钮颜⾊的相关内容,分享出来供⼤家参考学习,下⾯话不多说了,来⼀起看看详细的介绍吧。

android.support.v7.app.AlertDialog在这个类中第⼀⾏就定义了如下变量:final AlertController mAlert;AlertDialog的功能的具体实现都在这个AlertController内部封装.修改按钮颜⾊1. AlertDialog.getButtonpublic Button getButton(int whichButton) {return mAlert.getButton(whichButton);}这⾥的参数whichButton有三种类型:DialogInterface.BUTTON_POSITIVEDialogInterface.BUTTON_NEGATIVEDialogInterface.BUTTON_NEUTRAL传⼊对应的参数即可得到对应的ButtonButton btnPositive = (Button)AlertDialog.getButton(DialogInterface.BUTTON_POSITIVE);btnPositive.setTextColor(color);这种⽅式只能设置按钮的颜⾊,⽽⽆法设置标题颜⾊2 AlertDialog.getWindowAlertDialog的构造函数如下:protected AlertDialog(@NonNull Context context, @StyleRes int themeResId) {super(context, resolveDialogTheme(context, themeResId));mAlert = new AlertController(getContext(), this, getWindow());}这⾥初始化了AlertController,并传⼊了getWindow() ,这个getWindow()是AlertDialog继承⾃Dialog的⽅法.⽅法如下:#Dialog.getWindow()public @Nullable Window getWindow() {return mWindow;}将这个window对象传⼊AlertController后,在AlertController源码中可以看到对话框标题和按钮的id,并通过Window.findViewById(id)获取对应的View.所以这⾥可以这样得到对话框的标题和按钮://标题TextView tvTitle = (TextView)AlertDialog.getWindow().findViewById(R.id.alertTitle);//按钮Button btnPositive = (Button)AlertDialog.getWindow().findViewById(R.id.button1);然后设置所需要的颜⾊就可以了.这种⽅法可以修改Dialog的所有设置了id的控件的字体颜⾊.3 反射3.1 ⾸先拿到AlertController对象Field mAlert = AlertDialog.class.getDeclaredField("mAlert");mAlert.setAccessible(true);Object controller = mAlert.get(dialog);在AlertController内部查找到需要更改字体颜⾊的标题和按钮Button mButtonPositive;Button mButtonNegative;Button mButtonNeutral;private TextView mTitleView;private TextView mMessageView;然后通过反射获取对应控件,修改控件颜⾊即可Field mTitleView = controller.getClass().getDeclaredField("mTitleView");mTitleView.setAccessible(true);TextView tvTitle = (TextView) mTitleView.get(controller);tvTitle.setTextColor(Color.GREEN);//更改标题的颜⾊三种⽅式⽐较起来,第⼆种是最简单,效率也是最⾼的更改Dialog显⽰的位置Window window = dialog.getWindow();youtParams lp = window.getAttributes();lp.gravity = Gravity.BOTTOM;lp.x = 100;lp.y = 100;window.setAttributes(lp);这⾥要注意的是,youtParams的x和y坐标,看源码注释如下:/*** X position for this window. With the default gravity it is ignored.* When using {@link Gravity#LEFT} or {@link Gravity#START} or {@link Gravity#RIGHT} or* {@link Gravity#END} it provides an offset from the given edge.*/@ViewDebug.ExportedPropertypublic int x;/*** Y position for this window. With the default gravity it is ignored.* When using {@link Gravity#TOP} or {@link Gravity#BOTTOM} it provides* an offset from the given edge.*/@ViewDebug.ExportedPropertypublic int y;如果lp.gravity是默认的,那么x和y即使设置了也是⽆效的.因此x和y需要和lp.gravity搭配使⽤才有效果.当然lp.gravity也可以单独使⽤.总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。

c#winform程序,修改MessageBox提示框中按钮的文本

c#winform程序,修改MessageBox提示框中按钮的文本

c#winform程序,修改MessageBox提⽰框中按钮的⽂本⽤winform的MessageBox是实现不了的,这⾥我⽤的是DevExpress控件的XtraMessageBoxForm例如如果想在⼀个提⽰框⾥修改“是”,“否”按钮的⽂本时,这个时候我们⼀般都不好改,只能⾃⼰写⼀个form了,但是我们可以派⽣⼀个XtraMessageBoxForm的form之后重写⽅法就可以做到了1class MyCloseXtraMessageBoxForm : XtraMessageBoxForm2 {3protected override string GetButtonText(DialogResult target)4 {5switch (target)6 {7case DialogResult.Yes:8return"保存";9case DialogResult.No:10return"不保存";11 }12return base.GetButtonText(target);13 }14 }然后调⽤的时候按下⾯的去调⽤就⾏了1 XtraMessageBoxArgs msgBoxArgs = new XtraMessageBoxArgs(this,2"是否保存",3"提⽰",4new[] { DialogResult.Yes, DialogResult.No, DialogResult.Cancel },5null,60);7 MyCloseXtraMessageBoxForm msgBoxForm = new MyCloseXtraMessageBoxForm();8 DialogResult dr = msgBoxForm.ShowMessageBoxDialog(msgBoxArgs);9switch (dr)10 {11case DialogResult.Cancel:12break;1314case DialogResult.Yes:15break;1617case DialogResult.No:18break;1920default:21throw new ArgumentOutOfRangeException();22 }效果如下:针对这⾥⾯cancel按钮为什么不是“取消”的问题,我还没找到原因,之前都是能显⽰中⽂的,实在遇到这个问题,重写cancel按钮的⽂本就⾏了对于按钮都是英⽂,感觉每次改写很⿇烦,我们可以⾃⼰写⼀个汉化类通过下⾯代码可使“OK”显⽰为中⽂:⾸先创建⼀个继承⾃Localizer的类:1. using DevExpress.XtraEditors.Controls;2. public class MessboxClass : Localizer3. {4. public override string GetLocalizedString(DevExpress.XtraEditors.Controls.StringId id)5. {6. switch (id)7. {8. case StringId.XtraMessageBoxCancelButtonText:9. return "取消";10. case StringId.XtraMessageBoxOkButtonText:11. return "确定";12. case StringId.XtraMessageBoxYesButtonText:13. return "是";14. case StringId.XtraMessageBoxNoButtonText:15. return "否";16. default:17. return base.GetLocalizedString(id);18. }19. }20. }这⾥要注意,要在⼯程引⽤中添加DevExpress.Data和DevExpress.XtraEditors。

如何修改命令提示符的窗口的颜色和大小

如何修改命令提示符的窗口的颜色和大小

如何修改命令提示符的窗口的颜色和大小
想要修改命令提示符的窗口的颜色和大小,该怎么办呢,那么如何修改命令提示符的窗口的颜色和大小的呢?下面是店铺收集整理的如何修改命令提示符的窗口的颜色和大小,希望对大家有帮助~~
修改命令提示符的窗口的颜色和大小的方法
快捷键,ctrl+R 弹出命令提示符cmd
在命令标题上面的鼠标右键,找到属性
设置背景的颜色和字的颜色
设置一洗背景颜色和字的颜色
找到布局,宽度可以设置
设置成自己喜欢的颜色和字体大小和窗口大小。

响应WM_CTLCOLOR消息,设置对话框及个空间的颜色样式

响应WM_CTLCOLOR消息,设置对话框及个空间的颜色样式

响应WM_CTLCOLOR消息,设置对话框及个空间的颜色样式响应WM_CTLCOLOR消息,设置对话框及个空间的颜色样式很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等,其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!WM_CTLCOLOR 消息,使你可以告诉Windows在画各种控件的背景时用什么刷子。

在Windows要画控件的时候,它发送WM_CTLCOLOR给控件的父窗口。

这是你改变控件背景的好机会。

WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON 等控件设置背景和字体颜色,其用法如下:1.首先在自己需要设置界面的对话框上点击右键-->在右侧属性栏中加入WM_CTLCOLOR消息-->自动生成OnCtlColor()函数,此函数可以对本对话框的控件的界面外观做修饰,用法如下:将类向导产生的函数做如下修改:HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd* pWnd,UINT nCtlColor) {HBRUSH hbr =CDialog::OnCtlColor(pDC,pWnd, nCtlColor);// TODO: Change any attributes of theDC here//设置显示字体CFont * cFont=newCFont;cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH& ;FF_SWISS,"Arial ");//对特定的控件做修改switch(nCtlColor){case CTLCOLOR_STATIC: //对所有静态文本控件的设置{pDC->SetBkMode(TRANSPARENT); //设置背景为透明pDC->SetT extColor(RGB(255,255,0)); //设置字体颜色pWnd->SetFont(cFont); //设置字体HBRUSH B = CreateSolidBrush(RGB(125,125,255)); //创建画刷return (HBRUSH) B; //返回画刷句柄}case CTLCOLOR_EDIT: //对所有编辑框的设置{pDC->SetBkMode(TRANSPARENT);pDC->SetT extColor(RGB(255,255,0));pWnd->SetFont(cFont); HBRUSH B = CreateSolidBrush(RGB(125,125,255)); return (HBRUSH) B; }default:return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);}}注:case的类别有以下几种:CTLCOLOR_BTN 按钮控件CTLCOLOR_DLG 对话框CTLCOLOR_EDIT 编辑框CTLCOLOR_LISTBOX 列表框CTLCOLOR_MSGBOX 消息框CTLCOLOR_SCROLLBAR 滚动条CTLCOLOR_STATIC静态文本2.你可能觉得对所有的控件使用统一的界面设置觉得不自由,其实VC同样可以对特定的ID的控件进行设置,方法如下:switch (pWnd->GetDlgCtrlID()) { //针对ID为IDC_CTL1、IDC_CTL2和IDC_CTL3的控件进行同样的设置case IDC_CTL1:case IDC_CTL2:case IDC_CTL3: {pDC->SetBkMode(TRANSPARENT);pDC->SetTextColor(RGB(255,255,0));pWnd->SetFont(cFont);HBRUSH B = CreateSolidBrush(RGB(125,125,255));return (HBRUSH) B;}default:return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);} 通过消息WM_CTLCOLOR我们可以改变对话框或一些特殊控件的背景颜色1、添加WM_CTLCOLOR 消息映射。

如何改变对话框中Edit Box控件的背景色和显示内容的颜色和字体

如何改变对话框中Edit Box控件的背景色和显示内容的颜色和字体

如何改变对话框中Edit Box控件的背景色和显示内容的颜色答:HBRUSH CLogToolDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// set edit properitiesif(pWnd->GetDlgCtrlID() == IDC_EDIT_LOG){static HBRUSH hbrEdit = ::CreateSolidBrush(RGB(255, 255, 255));pDC->SetBkColor(RGB(255, 255, 255));pDC->SetTextColor(RGB(0, 0, 255));return hbrEdit;}return hbr;}字体的使用是ActiveX控件制作过程中不可缺少的部分。

本文将深入浅出地介绍在ActiveX 控件中制作过程中如何使用字体。

本文所提及的ActiveX控件制作是指利用VC++6.0的MFC ActiveX ControlWizard 工具,用其它方法制作ActiveX 控件本文不作讨论。

本文专门设置了一些例程,以便您能够更好地掌握这些内容。

这些例程都是完整的ActiveX控件制作源代码。

为了突出重点,本文仅对字体使用相关部分的源代码作较详细的介绍,其余部分的代码本文不作过多讨论。

字体作为一种属性在ActiveX控件中使用,与其它属性没有区别,同样分为库存属性和自定义属性,本文将分四个部分进行介绍。

第一部分在控件中使用库存字体(Stock Font)属性第二部分在控件中使用自定义的字体(Custom Font)属性第三部分使用多种字体第四部分优化代码,合理地使用多种字体第一部分在控件中使用库存字体(Stock Font)属性使用ClassWizard 添加Font库存属性的步骤:打开控件工程, 单击View菜单的ClassWizard打开ClassWizard;单击Automation标签;在Class Name框,选择你的控件类名;单击Add Property;在External name框, 单击Font;单击OK;单击OK确认你的选择并关闭ClassWizard;ClassWizard将在控件类的执行文件的dispatch映射表中加入下列行:DISP_STOCKPROP_FONT()另外, ClassWizard 在.ODL 文件中加入下列行:[id(DISPID_FONT), bindable] IFontDisp* Font;。

在字符面板上的颜色修改框,问号

在字符面板上的颜色修改框,问号

在字符面板上的颜色修改框,问号
在电脑上打开易语言,我们新建一个“windows窗口程序”。

点击完成后,我们就可以进入到启动窗口程序中了。

我们在右边的基础组件中添加一个编辑框到启动窗口中。

在启动窗口的左边,我们可以看到属性选项。

下面我们在修改编辑框的属性时需要点击进去。

进到属性的界面后。

我们找到想要修改的编辑框的属性。

点击后边的倒三角修改,或直接选择添加即可。

我们勾选如下的属性进行修改,添加一个内容,修改编辑框的边框,文本颜色,字体,是否多行换行等。

我们点击运行,看是否显示。

显示后,我们就运行成功了,可以看到修改的属性的状态了。

EditPlus如何设置文本背景色?EditPlus设置文本背景色的方法步骤

EditPlus如何设置文本背景色?EditPlus设置文本背景色的方法步骤

EditPlus如何设置文本背景色?EditPlus设置文本背景色的方法步

导读:EditPlus如何设置文本背景色?当我们使用EditPlus觉得文本背景色不好看想更换应该怎么办呢?不会的小伙伴请看以下教程,小编今天给大家带来的是EditPlus设置文本背景色的具体方法步骤。

方法/步骤
1、首先我们打开editplus软件,然后点击上方菜单栏处【视图选项】
2、接着在弹出的视图菜单中,点击【屏幕字体】,然后点击【自定义字体】
3、再进入字体设置界面,点击右方【常规选项】【颜色】
4、这时我们进入颜色管理界面,在右方可以看到【背景色】选项,将下方【默认】选项勾取消,否则无法编辑颜色
5、然后我们点击【背景色】,在弹出的颜色界面,选择我们喜欢的颜色。

6、当然我们也可以点击下方【更多】选项,进行自定义颜色
7、最后我们进入自定义颜色界面,输入相关的颜色数组进行添加应用即可
以上就是EditPlus设置文本背景色的具体方法步骤啦,大家都学会了吗?还想了解更多的软件教程请关注我。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何改变对话框中Edit Box控件的背景色和显示内容的颜色
答:
HBRUSH CLogToolDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// set edit properities
if(pWnd->GetDlgCtrlID() == IDC_EDIT_LOG)
{
static HBRUSH hbrEdit = ::CreateSolidBrush(RGB(255, 255, 255));
pDC->SetBkColor(RGB(255, 255, 255));
pDC->SetTextColor(RGB(0, 0, 255));
return hbrEdit;
}
return hbr;
}
字体的使用是ActiveX控件制作过程中不可缺少的部分。

本文将深入浅出地介绍在ActiveX 控件中制作过程中如何使用字体。

本文所提及的ActiveX控件制作是指利用VC++6.0的MFC ActiveX ControlWizard 工具,用其它方法制作ActiveX 控件本文不作讨论。

本文专门设置了一些例程,以便您能够更好地掌握这些内容。

这些例程都是完整的ActiveX控件制作源代码。

为了突出重点,本文仅对字体使用相关部分的源代码作较详细的介绍,其余部分的代码本文不作过多讨论。

字体作为一种属性在ActiveX控件中使用,与其它属性没有区别,同样分为库存属性和自定义属性,本文将分四个部分进行介绍。

第一部分在控件中使用库存字体(Stock Font)属性
第二部分在控件中使用自定义的字体(Custom Font)属性
第三部分使用多种字体
第四部分优化代码,合理地使用多种字体
第一部分在控件中使用库存字体(Stock Font)属性
使用ClassWizard 添加Font库存属性的步骤:
打开控件工程, 单击View菜单的ClassWizard打开ClassWizard;
单击Automation标签;
在Class Name框,选择你的控件类名;
单击Add Property;
在External name框, 单击Font;
单击OK;
单击OK确认你的选择并关闭ClassWizard;
ClassWizard将在控件类的执行文件的dispatch映射表中加入下列行:DISP_STOCKPROP_FONT()另外, ClassWizard 在.ODL 文件中加入下列行:[id(DISPID_FONT), bindable] IFontDisp* Font;。

相关文档
最新文档