资源描述:
《VC++ 改变控件字体大小颜色的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、改变控件字体大小颜色的方法在VC6.0中,不像其它开发工具那样能够轻易使用属性设置对象的各种状态,如文字颜色、背景等等使用OnCtlColor(在MSDN中的解释是:当要画出一个子控件时,框架就调用这个成员函数。多数控件将这个消息发送到它们的父窗口(通常是一个对话框),为使用正确的颜色画出控件而准备pDC),Ctrl+W打开ClassWizard,在ClassName下拉列表中选择要设置字体颜色的对话框标识,Message下拉列表中选择WM_CtlColor并双击,则会增加OnCtlColor成
2、员函数,在“//TODO:ChangeanyattributesoftheDChere”下面输入: if(IDC_××××==pWnd->GetDlgCtrlID()) pDC->SetTextColor(RGB(255,0,0));//文字设置为红色代码中IDC_××××是你要设置控件的标识。///////////////////////////////////////////////////////////////////////////////////////////////////
3、//////////////////////////////////////////CFontfont;font.CreatePointFont(100,_T("宋体"));//改变大小m_wndEditBox.SetFont(&font);/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4、////////////////////////////////////////////////////////改变字体颜色////////////////////////////////////////////////////////////////首先在自己需要设置界面的对话框上点击右键-->在右侧属性栏中加入WM_CTLCOLOR消息-->自动生成OnCtlColorHBRUSHCSingleBoxDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColo
5、r){HBRUSHhbr;if(CTLCOLOR_STATIC==nCtlColor&&pWnd->GetDlgCtrlID()==IDC_STRY)//只对IDC_TOOL这一个静态文本控件起作用{pDC->SetBkColor(RGB(236,233,216));//背景色为窗口颜色pDC->SetTextColor(RGB(255,0,0));//前景色为红色hbr=CreateSolidBrush(RGB(236,233,216));//其它区域也为窗口颜色}elsehbr=CDialo
6、g::OnCtlColor(pDC,pWnd,nCtlColor);returnhbr;}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
7、/////////////////////////////////////////////////////////////////////////////HBRUSHCMyDlg::OnCtlColor(CDC*pDC,CWnd*pWnd,UINTnCtlColor){HBRUSHhbr=CDialog::OnCtlColor(pDC,pWnd,nCtlColor);//TODO:ChangeanyattributesoftheDChere//changethecolorofdialogif(n
8、CtlColor==CTLCOLOR_DLG){pDC->SetBkColor(RGB(100,150,200));returnm_hDlgFace;}//changethecolorofstaticif(nCtlColor==CTLCOLOR_STATIC){pDC->SetBkColor(RGB(100,150,200));pDC->SetTextColor(RGB(0,0,255));returnm_hDlgFace;}//EDIT控件只能用这种方法,我也不知道为什么if(pWnd->Ge