探索丰富多彩的C++技术内幕手记

C++语言是主要使用的编程语言,但是C++凭借其对C的兼容性,面向对象性质也开始在该领域崭露头角,在系统级的开发上,C++技术应用居多。这3种语言各有特色。总的来说,C++的应用集中在如下主要领域。

10年品牌的成都网站建设公司,数千家企业网站设计经验.价格合理,可准确把握网页设计诉求.提供定制网站建设、商城网站定制开发、小程序设计、响应式网站建设等服务,我们设计的作品屡获殊荣,是您值得信赖的专业网站建设公司。

一、应用程序框架

在CmyApp类中定义了一个虚函数:Virtual BOOL InitIstance();用来初始化应用程序。在这里可以初始化应用程序框架。在CMyApp类中有一个数据成员m_pMainWnd这是主框架窗口的指针。在需要时可以用AfxGetApp()->m_pMainWnd来获得。其中AfxGetApp()是获得应用程序的指针。

初始化应用程序:

 
 
 
  1. m_pMainWnd=new CmyFrame();
  2. m_pMainWnd->ShowWindow(m_nCmdShow);   
  3. m-pMainWnd->UpdateWindow();

如果更新区域不为空,UpdateWindow成员函数直接发送消息WM_PAINT 越过应用程序队列,如果更新区域为空,则不会发送WM_PAINT消息。 这个函数设置窗口的可视状态。每个应用程序只应用CwinApp::m_nCmdShow为主窗口调用一次ShowWindow.以后调用ShowWindow应该用下面列出的值来替代CWinApp::m_mCmdShow指定的值。

 
 
 
  1. CWnd::ShowWindow
  2. 函数原型:BOOL  ShowWindow(int m_nCmdShow)
  3. 返回值:窗口可见为:非零值;
  4. 窗口不可见为:零;
  5. m_nCmdShow可以指定的值有:
  6. SW_HIDE 隐藏窗口并将活动状态传递给其它窗口。
  7. SW_MINIMIZE最小化窗口并激活系统列表中的顶层窗口。
  8. SW_RESTORE 激活并显示窗口。如果窗口是最小化或最大化的,Windows恢复其原来的大小和位置。 
  9. SW_SHOW 激活窗口并以其当前的大小和位置显示。
  10. SW_SHOWMAXIMIZED 激活窗口并显示为最大化窗口。
  11. SW_SHOWMINIMIZED 激活窗口并显示为图标。 
  12. SW_SHOWMINNOACTIVE 将窗口显示为图标。当前活动的
  13. 窗口将保持活动状态。
  14. SW_SHOWNA 按照当前状态显示窗口。当前活动的窗口将保持活动状态。
  15. SW_SHOWNOACTIVATE 按窗口最近的大小和位置显示。当前活动的窗口将保持活动状态。 
  16. SW_SHOWNORMAL 激活并显示窗口。如果窗口是最小化或最大化的,则Windows恢复它原来的大小和位置。

CmyFrame类 类CmyFrame的对象代表着应用程序的主框架窗口。当构造函数调用基类CframeWnd的Create成员函数时,Windows将创建具体的的窗口结构,同时应用程序框架会将所创建的窗口结构连接到C++对象中。为了显示所创建的窗口,必须调用基类中的ShowWindow和UpdateWindow成员函数。CmyFrame::Onpaint函数 应用程序框架在每次需要重新绘制窗口时,都要调用这个非常重要的且已经被映射过的CmyFrame类的成员函数。

在程序运行时,在用户改变了窗口的大小时,在窗口的全部或部分被重新显现时,OnPaint成员函数都会被调用。CpaintDC和图形设备接口(GDI)有关,MFC库应用程序框架并没有采用虚函数来处理Window消息,相反,它通过一些宏来将特定的消息映射到派生类中相应的成员函数上。MFC消息控件函数要求我们提供函数原型、函数体以及在消息映射中的。#t#

同样的原因,在写了“你应当如何学习C++技术一文之后,当孟岩先生邀请我给《程序员》写一个系列的文章,介绍一下我在接触C++的过程中的态度和认识转变时,我虽然非常高兴的答应了,但直到现在3个月过去了还是颗粒无收。为什么?因为我觉得真正本质的问题没有被清晰的触摸到;所以直到现在我都没有动笔,免得废话说了一大堆,除了能被当成小说读读之外,对真正考虑是否要学习乃至使用C++的人未必有什么实际用处。

然而,这么个念头一直都放在潜意识里面。前一阵子和Bjarne通信,谈到了关于C++技术的一些想法,在邮件里面总结了一下C++的复杂性来源,感觉思路清晰了许多。而这篇文章要达到的目的,正是传达对C++的复杂性的一个具体而明确的认识,有了这个认识作为支持,我们便可以推导出学习C++的最佳(实践者)的方法。

标题名称:探索丰富多彩的C++技术内幕手记
链接URL:http://www.hantingmc.com/qtweb/news47/43097.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联