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文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219