手机版

VC内部培训资料——第9章 修改框架程序的显示效(3)

发布时间:2021-06-07   来源:未知    
字号:

修改框架程序的显示效果

VC++培训教程草稿(2000年撰写) 张孝祥、袁龙友著 网址:

置该画刷的属性为实心的黄色,新设计的窗口类的背景就采用这个画刷。

其中IDI_ICON1是我们在资源面板中新添加的一个图标资源的ID。

代码中的大部分内容在第二章都接触过,可能最后一句cs.lpszClass="hello";有的读者大概不理解该句代码的用意。我们知道,在CMainFrame::PreCreateWindow中,应用程序根据该函数传来的cs进行框架的显示,这个cs结构中的数据成员lpszClass包含框架生成

时采用的窗口类的名称,如果我们不添加最后一句代码将我们的窗口类赋给lpszClass数据成员,那么它还会采用原来系统默认的窗口类。

运行程序,读者会发现,框架的图标变了,但是背景和光标没有变,如图9-01那是由于视图类覆盖在框架类上了,应将此段代码拷入函数中,就可以看到效果了。

图9-01

1 2 3 4 5 6 7 8 9 12 13 14

利用GetClassInfo函数,所示:

清单函数代码

{

if( !CFrameWnd::PreCreateWindow(cs) )

wndclass.lpszClassName="hello"; ::RegisterClass(&wndclass); cs.lpszClass="hello"; return TRUE;

10 15 }

第7行首先定义一个窗口类对象wndclass,然后在第8行调用GetClassInfo函数将取得的当前使用的窗口类信息赋给对象wndclass,最后,通过9~11行修改wndclass,再由12、13行代码重新注册及加载修改后的窗口对象来实现,程序运行结果同图9-01一样。

函数GetClassInfo用于取得某一窗口类的信息,原形如下:

VC内部培训资料——第9章 修改框架程序的显示效(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)