mfc怎么修改静态文本控件文字颜色

mfc怎么修改静态文本控件文字颜色,第1张

在生成的类中添加重载的虚函数OnCtlColor(CDC

pDC,CWnd

pWnd,UINT

nCtlColor)。

可以在该函数中设置pDC->SetBkMode(TRANSPARENT);将文本的背景设置为透明。

可以在该函数中设置pDC->SetTextColor(RGB(255,0,0));将文本的颜色设置为红色。

也可以指定某一静态文本的字体颜色,可以加如下判断:

switch(pWnd->GetDlgCtrlID())

{

case

IDC_INFO:

pDC->SetBkMode(TRANSPARENT);

pDC->SetTextColor(RGB(255,0,0));

}

这个判断,可以仅仅将ID号为IDC_INFO的静态文本的字体颜色设置为红色。

MFC

中InitInstance()是应用初始化函数。

1函数原型:

CWinApp::InitInstance

virtual

BOOL

InitInstance(

);

2返回值:

如果初始化成功,则返回非零值;否则返回0。

InitInstance函数的返回值为BOOL类型,所谓的BOOL(布尔)类型,在C语言中就是int,它实际就是一个宏定义:

typedef

int

BOOL

通常我们使用BOOL类型来决定“是”以及“否”,“是”就是TRUE,“否”就是FALSE。TRUE和FALSE的值就是1和0,它们也是通过宏来直接定义的常量。

3深入理解:

MFC对WindowsAPI进行了封装。在用向导编译成的二进时代码,MFC编译器链接器把源文件编译成PE文件格式存储在磁盘上。程序执行的时候,从PE文件头开始执行,在进入Winmain函数之前,进行一系列的必备的初始化。

MFC对这一系列的过程进行了封装。提供给编程人员的第一个裸露程序入口就是CWinApp的InitInstance(),其实程序的入口依然是WinMain()函数。大家都知道,每个程序都有拥有一个进程,每个进程至少有一个线程就是主线程。CWinThread类是MFC用来封装线程的,这个主线程就是在WinMain函数中创建的,包括UI线程和工作者线程。因此每个MFC程序至少使用一个CWinThread派生类。被MFC程序员熟知的CWinApp应用类就从这里派生。

InitInstance是CWinThread的一个虚函数,InitInstance就是“初始化实例”的意思,可见,它是在实例创建时首先被调用的。应用程序总要重载这个虚函数,进行系统设置,创建运行环境。例如,主窗口一定要在InitInstance()中创建,因为该函数退出后就进入该线程的消息循环。

MFC执行流程:

_tWinMain(WinMain的别名,用define替换的)->AfxWinMain->初始化线程,调用InitInstance初始化窗口,调用Run函数进入消息循环。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12178335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存