单文档应用程序设计
单文档应用程序设计
主要内容 基本MFC应用程序框架 学会使用 Class Wizard 在MFC应用程序中实现简单 的文字输入输出
主要内容 •基本MFC应用程序框架 •在MFC应用程序中实现简单 的文字输入输出 •学会使用ClassWizard
基本MFC应用程序框架 基本C++程序框架 #include void main cout<< Hello c++'<<endl
基本MFC应用程序框架 •基本C++程序框架 #include void main() { cout<<“Hello C++”<<endl; }
基本MFC程序框架 从 App Wizard向导开始 ●●●●●● CObject CCmdTarget CWin Thread CDocument CWnd CWinApp CFrameWnd CView CHelloApp CHelloDoc CMain Frame CHelloview
基本MFC程序框架 从AppWizard向导开始…… CObject CCmdTarget CWinThread CDocument CWinApp CFrameWnd CView CWnd CHelloApp CHelloDoc CMainFrame CHelloView
WinMain函数在哪里??? 封装 Winmain CWinApp Registerclass(; virtual BOOL InitApplication o; CreatWindow (i Show Window(…)}- Avirtual BOOL Initinstanceo; pdateWindow(… virtual int Run o: WinProc7封装 CFrameWnd
WinMain函数在哪里??? WinMain CWinApp 封装 RegisterClass(…); CreatWindow(…); ShowWindow(…); UpdateWindow(…); virtual BOOL InitApplication(); virtual BOOL InitInstance(); virtual int Run(); WinProc CFrameWnd 封装
MFC应用程序运行机制 调用 CWinApp的构造函数 程序入口函数 WinMain接受控制(系统实现) WinMain函数调用应用程序类的 InitInstance函数 WinMain函数进入消息循环 Winmain退出,程序终止
MFC应用程序运行机制 •调用CWinApp的构造函数 •程序入口函数WinMain接受控制(系统实现) •WinMain函数调用应用程序类的InitInstance函数 •WinMain函数进入消息循环 •WinMain退出,程序终止
代码解析 代码风格: 注释文字、关键字、一般代码、系统 自动维护的代码 消息处理机制和消息映射宏 ●CHel0App的 InitInstance函数
代码解析 •代码风格: 注释文字、关键字、一般代码、系统 自动维护的代码 •CHelloApp的InitInstance函数 •消息处理机制和消息映射宏
Hello mfc程序的实现 分析: 明确自己想要实现的功能由哪个事件触发 明确该事件由哪个类型处理 完成消息映射 改进:在窗口中间显示字符串“ Hello mFc
Hello MFC程序的实现 分析: •明确自己想要实现的功能由哪个事件触发 •明确该事件由哪个类型处理 •完成消息映射 改进:在窗口中间显示字符串“Hello MFC
两个常用文字输出函数 BOOL Textout( int x int y, const CString& str int DrawText( LPCTSTR IpString, //text to draw int nCount, / text length LPRECT IpRect, / /formatting dimensions UINT uFormat //text-drawing options
BOOL TextOut( int x, int y, const CString& str ); int DrawText( LPCTSTR lpString, // text to draw int nCount, // text length LPRECT lpRect, // formatting dimensions UINT uFormat // text-drawing options ); 两个常用文字输出函数
文本的输出 虚拟键代码 虚拟键代码」功能键「虚拟键代码「功能键 VK INSERT Insert VK BANK 光标句柄 VK LEFT 左箭头键 VK RETURN刷子句柄 VK NEXT PageDown键|HPEN 画笔句柄 按键消息 按下: WM KEYDOWN, WM SYSKEYDOWN 释放:WM_ KEYUP, WM SYSKEYUP 字符消息: WM CHAR, WM SYSCHAR
文本的输出 •虚拟键代码 虚拟键代码 功能键 虚拟键代码 功能键 VK_INSERT Insert VK_BANK 光标句柄 VK_LEFT 左箭头键 VK_RETURN 刷子句柄 VK_NEXT PageDown键 HPEN 画笔句柄 •按键消息 --按下:WM_KEYDOWN,WM_SYSKEYDOWN --释放:WM_KEYUP,WM_SYSKEYUP --字符消息:WM_CHAR,WM_SYSCHAR