蚊子132 学习 CWinThread 的使用及 MFC CWinApp

地址: 蚊子132 学习 CWinThread 的使用及 MFC CWinApp

MFC CWinApp 类结构详解 蚊子132 学习 CWinThread 的使用:
概览CWinApp为应用程序类, CWinApp由 CWinThread 派生而来 ,后者表示可能具有一个或多个线程的应用程序的主执行线程,基于框架生成的应用程序必须有且仅有一个从 CWinApp 派生的类的对象并创建窗口之前先构造该对象 。
封装了Windows应用程序要做初始化、运行、终止3个主要任务,其对应的3个主要函数是InitInstance()、Run()、ExitInstance(),上述3函数与 OnIdle()  函数实际位于 CWinThread 类中。此处将这些函数作为 CWinApp 成员来探讨,因为探讨所关心的是对象作为应用程序对象而不是主线程的角色。
应用程序类构成应用程序的主线程,使用Win32 API也可以创建辅助线程,当然也可以使用MFC。
与其他类型Windows应用程序一样,MFC应用程序也有WinMain函数,此函数由类库提供,不必自己编写,并在应用程序启动时调用WinMain 执行注册窗口类等标准服务,后调用应用程序对象的成员函数初始化和运行应用程序,可通过重写由 WinMain 调用的 CWinApp 成员函数来自定义WinMain。
为初始化应用程序,WinMain 调用应用程序对象的 InitApplication 和 InitInstance 成员函数。为运行应用程序的消息循环,WinMain 调用 Run 成员函数。在终止时,WinMain 调用应用程序对象的 ExitInstance 成员函数。下图显示了框架应用程序中的执行顺序。
类成员属性m_pszAppName 指定了应用程序的名字
m_hInstance   标识了应用程序的当前实例   
m_hPrevInstance   在32位应用程序中被设为NULL   
m_lpCmdLine   指向一个以null结尾的字符串,指定了应用程序的命令行   
m_nCmdShow   指定最初如何显示窗口   
m_bHelpMode   指明用户是否处于Help上下文模式(通常用SHIFT+F1激活)   
m_pActiveWnd   当一个OLE服务器是现场可激活时,它指向容器应用程序的主窗口   
m_pszExeName   应用程序的模块名字   
m_pszHelpFilePath   应用程序的帮助文件的路径   
m_pszProfileName   应用程序的。INI文件名   
m_pszRegistryKey   用于确定保存应用程序主要设置的完整的注册表键   
m_pDocManager   用于保存文档模板管理类的指针(MSDN中没有这个数据成员)   

方法CWinApp   构造方法  
LoadCursor   载入光标资源   
LoadStandardCursor   载入WINDOWS.H中IDC_常量所指定的Windows预定义光标   
LoadOEMCursor   载入WINDOWS.H中OCR_常量所指定的WindowsOEM预定义光标   
LoadIcon   载入图标资源   
LoadStandardIcon   载入WINDOWS.H中IDI_常量所指定的Windows预定义图标   
LoadOEMIcon   载入WINDOWS.H中OIC_常量所指定的WindowsOEM预定义图标   
RunAutomated   检查程序命令行是否指定/Automation选项。已不用。应当在调用ParseCommandLine之后使用CCommandLineInfo::m_bRunEmbedded中的值   
RunEmbedded   检查程序命令行是否指定/Embedding选项。已不用。应当在调用ParseCommandLine之后使用CCommandLineInfo::m_bRunEmbedded中的值   
ParseCommandLine   解析命令行中的每个参数和标志   
ProcessShellCommand   处理命令行参数和标志   
GetProfileInt   从应用程序的。INI文件的一个入口中获取一个整数   
WriteProfileInt   将一个整数写到应用程序的。INI文件的入口   
GetProfileString   从应用程序的。INI文件的一个入口中获取一个字符串   
WriteProfileString   将一个字符串写到应用程序的。INI文件的入口   
AddDocTemplate   将一个文档模板加到应用程序的可用文档模板列表中   
GetFirstDocTemplatePosition   获取第一个文档模板的位置   
GetNextDocTemplate   获得文档模板的位置。可以递归调用   
OpenDocumentFile   由框架调用,用以从文件打开一个文档   
AddToRecentFileList   将一个文件名加入最近使用(MRU)的文件列表   
SelectPrinter   选择先前由用户在打印对话框中指定的打印机   
CreatePrinterDC   创建一个打印机设备环境   
GetPrinterDeviceDefaults   获得缺省的打印机设备   


InitInstance   可被重载以执行Windows的实例初始化,比如创建窗口对象   
InitApplication    初始化.   
Run   运行缺省的消息循环。可被重载以定制消息循环   
OnIdle   可被重载以执行应用程序指定的空闲时处理   
ExitInstance   可被重载以在应用程序结束时执行清除操作   
HideApplication   在关闭所有的文档之前隐藏应用程序   
CloseAllDocuments   关闭所有打开的文档   
PreTranslateMessage   在消息被分派到Windows函数::TranslateMessage和:ispatchMessage之前过滤消息   
SaveAllModified   提示用户保存所有改变了的文档   
DoMessageBox   为应用程序实现AfxMessageBox   
ProcessMessageFilter   在消息到达应用程序之前截取特定的消息   
ProcessWndProcException截取应用程序的消息和命令处理函数抛出的未被处理的异常   
DoWaitCursor   打开或关闭等待光标   
OnDDECommand   框架调用这个函数以响应动态数据交换(DDE)执行命令   
WinHelp   调用Windows的WinHelp函数   

LoadStdProfileSettings   载入标准的。INI文件设置并允许MRU文件列表特性   
SetDialogBkColor   设置对话框和消息框的缺省背景颜色   
SetRegistryKey   使应用程序的设置保存在注册表中,而不是INI文件中   
EnableShellOpen   允许用户通过Windows的文件管理器打开数据文件   
RegisterShellFileTypes   在Windows的文件管理器中注册所有的应用程序文档类型   
Enable3dControls   使控件具有三维外观(动态库)   
Enable3dControlsStatic   使控件具有三维外观(静态库)   

OnFileNew   实现ID_FILE_NEW命令   
OnFileOpen   实现ID_FILE_NEW命令   
OnFilePrintSetup   实现ID_FILE_PRINT_SETUP命令   
OnContextHelp   处理应用程序内的SHIFT+F1命令   
OnHelp   处理应用程序内的F1帮助命令(使用当前的上下文)   
OnHelpIndex   处理ID_HELP_INDEX命令,提供缺省的帮助主题   
OnHelpFinder   处理ID_HELP_FINDER和ID_DEFAULT_HELP命令   
OnHelpUsing   处理ID_HELP_USING命令


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值