MFC Windows应用程序设计 第2章-Windows应用程序的类封装.ppt

MFC Windows应用程序设计 第2章-Windows应用程序的类封装.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC Windows应用程序设计 第2章 Windows应用程序的封装 在早期的编程生涯中,程序员采用C语言和Windows API函数进行Windows程序设计。 采用这种方式进行程序开发,使得开发过程艰苦、乏味。 随着编程技术的不断发展,Windows编程采用了面向对象的程序设计思想(Object Oriented Programming,OOP)。 这种思想集抽象性、封装性、集成性和多态性于一体,提高了编程的效率。 下面对Windows应用程序中的面向对象思想进行介绍。 Windows应用程序主函数的任务是创建并显示窗口和实现消息循环。 为了形成程序框架,应该声明两个类:应用程序类和窗口类。 2.1.1窗口类的声明 class CFrameWnd { public: HWND hWnd; public: int RegisterWindow(); void Create(LPCTSTR lpClassName, LPCTSTR lpWindowName ); void ShowWindow(int nCmdShow); void UpdateWindow(); }; 2.1.1窗口类的声明 int CFrameWnd::RegisterWindow() { WNDCLASS wc; wc.style=0; wc.lpfnWndProc=WndProc; wc.cbClsExtra=0; wc.cbWndExtra=0; wc.hInstance=hInstance; wc.hIcon=LoadIcon(NULL,IDI_APPLICATION); wc.hCursor=LoadCursor(NULL,IDC_ARROW); wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName=NULL; wc.lpszClassName=lpszClassName; return RegisterClass(wc); } 2.1.1窗口类的声明 void CFrameWnd::Create(LPCTSTR lpClassName, LPCTSTR lpWindowName) { RegisterWindow( ); hInst = hInstance; hWnd = CreateWindow(lpszClassName,lpWindowName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); } 2.1.1窗口类的声明 void CFrameWnd::ShowWindow(int nCmdShow) { ::ShowWindow(hWnd, nCmdShow); } void CFrameWnd::UpdateWindow() { ::UpdateWindow(hWnd); } 2.1.2 应用程序类的声明---CWinApp class CWinApp { public: CFrameWnd *m_pMainWnd; public: BOOL InitInstance (int nCmdShow); int Run(); }; 2.1.2 应用程序类的声明---CWinApp BOOL CWinApp::InitInstance(int nCmdShow) { m_pMainWnd=new CFrameWnd; m_pMainWnd-Create(NULL,封装的Windows程序); m_pMainWnd-ShowWindow(nCmdShow); m_pMainWnd-UpdateWindow(); return TRUE; } 2.1.2 应用程序类的声明---CWinApp int CWinApp::Run() { while (GetMessage(msg, NULL, 0, 0)) { TranslateMessage(msg); DispatchMessage(msg); } return msg.wParam; } 2.1.3 主函数封装后的程序 CWinApp theApp; int APIENTRY WinMain(HINSTANCE hInstance,

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档