T20天正电气V5.0注册机4.0总得更改电脑日期才可以用怎么解决?有没有补丁?

在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);参数nCtlColor用于指定控件的类型,可以是:.CTLCOLOR_BTN&按钮控件.CTLCOLOR_DLG&对话框.CTLCOLOR_EDIT&编辑框.CTLCOLOR_LISTBOX&列表控件.CTLCOLOR_MSGBOX&消息控件.CTLCOLOR_SCROLLBAR&滚动条控件.CTLCOLOR_STATIC&静态控件[程序实现]假设你已有了名为My的对话框工程.你有了一个STATIC的控件,ID为IDC_STATIC1.
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (nCtlColor==CTLCOLOR_STATIC)
pDC-& SetTextColor(RGB(255,0,0)); //字体颜色
pDC-& SetBkColor(RGB(0, 0, 255)); //字体背景色
// TODO: Return a different brush if the default is not desired
如果要指定某个特定控件可以这样写:ID为IDC_STATIC1
if (pWnd-& GetDlgCtrlID()==IDC_STATIC1)
pDC-& SetTextColor(RGB(255,0,0));
//设置字体颜色
pDC-& SetBkMode(TRANSPARENT); //设置字体背景为透明
// TODO: Return a different brush if the default is not desired
return (HBRUSH)::GetStockObject(BLACK_BRUSH);
// 设置背景色
BLACK_BRUSH:黑色
WHITE_BRUSH:白色
GRAY_BRUSH:灰色
NULL_BRUSH:透明
HOLLOW_BRUSH&:透明
阅读(...) 评论()假设有一个静态文本框控件,其ID为:IDC_STATIC_XSDJ,且关联一个control类的CStatic类型的变量m_static_xsdj。
设置字体时自然要用到CFont类,下面介绍两种方法,两种方法都要先在头文件中添加一个变量CFont newFont,切记要声明称类的成员变量,不能是局部变量
在OnInitDialog()函数中添加代码:
1 newFont.CreatePointFont(160,L"楷体");
2 m_static_xsdj.SetFont(&newFont);
至于代码中的参数问题,自己百度或者参考MSDN吧。
这种方法要自己指定字体,但更多的情况是我们希望在原有字体上进行修改,这就是方法二:
思路是:首先获取原有字体,然后获取其对应的LOGFONT结构体,接着修改该LOGFONT结构体,最后利用修改后的结构体,创建一个新的字体。
给出代码,依然是写到OnInitDialog 中
font=m_static_xsdj.GetFont();//获取CFont对象
font-&GetLogFont(&lf);//获取LOGFONT结构体
lf.lfHeight=-26;
//修改字体大小
lf.lfItalic=TRUE;
lf.lfWeight=400;
//修改字体的粗细
newFont.CreateFontIndirectW(&lf);//创建一个新的字体
m_static_xsdj.SetFont(&newFont);
下面是修改静态文本框控件中文本颜色、文本背景颜色、和控件背景颜色。
首先应当明确的是,在那个函数中下手(写代码),答案是OnCtlColor()函数中,这个函数是用于响应WM_CTLCOLOR消息的,当控件需要重绘时会发出这个消息(姑且这么简单理解吧).
说以下这个函数的函数原型:
1 HBRUSH CDlgXSDJ::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
三个参数:pDC表示与当前控件相关联的设备上下文,pWnd是当前控件的指针,nCtlColor 表示控件的类型,返回值是一个HBRUSH句柄,该句柄用户重绘控件的背景色。
然后说一下SetTextColor()、SetBkColor()、和SetBkMode()三个函数
SetTextColor()函数很明显是设置文本颜色的,而SetBkColor()函数不是用来设置控件背景颜色的,而是用来设置文本背景颜色的(就是包含文本的矩形)、SetBkMode()是用来设定文字背景模式的,参数只有两个选择OPAQUE、TRANSPARENT表示是否透明。
那么控件的背景颜色怎么设置呢?答案是通过返回的HBRUSH句柄。
下面给出一个代码,和运行效果
1 HBRUSH CDlgXSDJ::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
if( IDC_STATIC_XSDJ
pWnd-&GetDlgCtrlID())//判断发出消息的空间是否是该静态文本框
pDC-&SetTextColor(RGB(255,0,0));//设置文本颜色为红色
pDC-&SetBkMode(OPAQUE);//设置文本背景模式为透明
pDC-&SetBkColor(RGB(0,0,255));//设置文本背景为蓝色
hbr=CreateSolidBrush(RGB(0,255,0));//控件的背景色为绿色
return//返回用于重绘控件背景的画刷
阅读(...) 评论()查看: 7851|回复: 24
MFC如何设置对话框的背景和字体颜色
阅读权限90
--- 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。
---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下:
---- ① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。
---- ② 在CExampleDlgApp ::InitInstance()中添加如下代码:
BOOL CExampleDlgApp: : InitInstance ( )
& & CExampleDlgD
& & m_pMainWnd = &
//先于DoModal()调用,将对话框设置为蓝色背景、红色文本
& & SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));&&//第一个为背景 第二个为字体&&
& & int nResponse = dlg.DoModal();
---- 编译并运行,此时对话框的背景色和文本色已发生了改变。值得注意的是:在调用DoModal()之前必须先调用SetDialogBkColor,且此方法是将改变应用程序中所有的对话框颜色,并不能针对某一个指定的对话框。
---- 方法二:重载OnPaint(),即WM_PAINT消息。有关代码如下(以上例工程为准):
void CExampleDlgDlg::OnPaint()
& & if (IsIconic())
& && &&&CR
& && &&&CPaintDC dc(this);
& && &&&GetClientRect(rect);
& && &&&dc.FillSolidRect(rect,RGB(0,255,0));&&//设置为绿色背景
& && &&&CDialog::OnPaint();
---- 方法三:重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR消息。具体步骤如下(以上例工程为准):
---- ①在CExampleDlgDlg的头文件中,添加一CBrush的成员变量:
class CExampleDlgDlg : public CDialog
protected:
---- ②在OnInitDialog()函数中添加如下代码:
BOOL CExampleDlgDlg::OnInitDialog()
// TODO: Add extra initialization here
m_brush.CreateSolidBrush(RGB(0, 255, 0)); // 生成一绿色刷子
---- ③利用ClassWizard重载OnCtlColor(…),即WM_CTLCOLOR消息:
HBRUSH CExampleDlgDlg::OnCtlColor
(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
** 这里不必编写任何代码!
**下行代码要注释掉
** HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return m_&&//返加绿色刷子
---- 方法四:还是重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR消息。具体步骤如下(以上例工程为准):
---- 步骤①、②同上方法三中的步骤①、②。
---- 步骤③利用ClassWizard重载OnCtlColor(…)(即WM_CTLCOLOR消息)时则有些不同:
HBRUSH CExampleDlgDlg::OnCtlColor
(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
//在这加一条是否为对话框的判断语句
if(nCtlColor ==CTLCOLOR_DLG)
return m_&&//返加绿色刷子
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限200
相当不错的的总结!感谢楼主……
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
新手上路, 积分 16, 距离下一级还需 34 积分
高手!你牛XXX 新手膜拜
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2029, 距离下一级还需 971 积分
学习中……
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
新手上路, 积分 35, 距离下一级还需 15 积分
& 谢谢分享...
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限80
金牌会员, 积分 4045, 距离下一级还需 955 积分
不错啊!!!!!!!!!
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2029, 距离下一级还需 971 积分
方法一是不是过时了,This function is obsolete.只是MSDN上说的
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限60
铜牌会员, 积分 853, 距离下一级还需 647 积分
顶下楼主&&。。。。。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
中级会员, 积分 363, 距离下一级还需 137 积分
Thank for share
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限90
确实这几个方法都比较老了,其实新的方法也是在旧的方法上加以封装是函数更加完善而已,谢谢你,在发帖我会拿些更新的过来
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限80
金牌会员, 积分 4045, 距离下一级还需 955 积分
不错啊!!!!!!!!!
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限90
自己用图片见谅啊
本帖子中包含更多资源
才可以下载或查看,没有帐号?
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限80
金牌会员, 积分 3888, 距离下一级还需 1112 积分
不错,很好。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限60
铜牌会员, 积分 950, 距离下一级还需 550 积分
不错的, 支持··
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限60
铜牌会员, 积分 1231, 距离下一级还需 269 积分
我还知道那个 淡入的效果呢 在create里面加 anmixx的 好华丽 哈哈
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
中级会员, 积分 347, 距离下一级还需 153 积分
学习了,支持
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限50
高级会员, 积分 627, 距离下一级还需 173 积分
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限80
金牌会员, 积分 3969, 距离下一级还需 1031 积分
好东西,直接收藏!
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
注册会员, 积分 91, 距离下一级还需 59 积分
Thank for share
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限80
金牌会员, 积分 4904, 距离下一级还需 96 积分
不错。。。学习了
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
站长提醒 /1
为了能给广大编程爱好者提供一个更好的学习交流平台,从即日起面向广大网友特举办《发原创得奖励》活动。Vip教程,驿站U盘,无线鼠标 免费送,礼品丰厚,赶快来参加吧!
VC驿站微信公众号cctry2009
Powered by Discuz! X3.32004年9月 总版技术专家分月排行榜第二
2005年3月 总版技术专家分月排行榜第三2004年8月 总版技术专家分月排行榜第三2004年7月 总版技术专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。在MFC中,改变CEdit的字体颜色
在MFC中,要实现这个消息才能改变CEdit的字体颜色
HBRUSH CTesterDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT
nCtlColor)
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
if (pWnd-&GetDlgCtrlID() == IDC_EDIT_MESSAGE)
pDC-&SetTextColor(0x00FF);
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
在MFC中,要实现这个消息才能改变CEdit的字体颜色。
CEdit * pEdit = (CEdit*) GetDlgItem(IDC_EDIT_MESSAGE);
CDC * pdc = pEdit-&GetDC();
pdc-&SetTextColor(0x000000FF);//
已投稿到:}

我要回帖

更多关于 天正电气V5.0注册机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信