MFC CWinApp 类 公共方法:CWinApp::ProcessShellCommand
CWinApp 类中的 ProcessShellCommand 是一个用于处理命令行参数的方法。它通常在应用程序启动时被调用,用于解析命令行参数并执行相应的操作。这个方法的签名如下:virtual BOOL ProcessShellCommand(CCommandLineInfo& rCmdInfo);这个方法接受一个 CCommandLineInfo 对象的引用作为参数,该对象包含了从命令行获取的信息,如文件名、参数等。在应用程序启动时,CWinApp 的派生类通常会调用 ProcessShellCommand 方法,传递一个 CCommandLineInfo 对象,以便处理命令行参数。以下是一个简单的例子,演示了如何在派生自 CWinApp 的类中使用 ProcessShellCommand 方法:class CMyWinApp : public CWinApp{public: virtual BOOL InitInstance() { // 创建主窗口等初始化操作 // 处理命令行参数 CCommandLineInfo...
MFC CWinApp 类 公共方法:CWinApp::ProcessMessageFilter
CWinApp::ProcessMessageFilter 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于处理消息过滤器。这个方法允许你在消息被发送到主窗口之前对其进行处理,以便进行自定义的消息处理或过滤。在 MFC 中,消息过滤器是一个对象,它可以截获和处理 Windows 消息。CWinApp::ProcessMessageFilter 允许你设置一个消息过滤器,以便在消息到达主窗口之前拦截并进行处理。该方法的原型如下:BOOL ProcessMessageFilter(int code, LPMSG lpMsg);参数说明: code:指定过滤器的类型。如果设置为 CMessageFilter::MSGF_COMMCTRL_BEGINDRAG,表示正在进行拖放操作。 lpMsg:指向 MSG 结构的指针,该结构包含有关被处理消息的信息。你可以通过继承 CWinApp 类并重写 ProcessMessageFilter 方法,来实现自定义的消息处理逻辑。这对于需要在应用程序级别处理消息的情况非常有用。
MFC CWinApp 类 公共方法:CWinApp::PreTranslateMessage
CWinApp::PreTranslateMessage 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于在消息翻译之前拦截和处理消息。这个方法通常被用来定制消息处理,以便应用程序可以在消息传递到窗口过程之前对其进行处理。BOOL CWinApp::PreTranslateMessage(MSG* pMsg);在这个方法中,你可以添加自定义的消息处理逻辑,例如特定键盘快捷键的处理、消息过滤等。如果该方法返回 TRUE,则表示应用程序已经完全处理了该消息,MFC将不再继续处理该消息;如果返回 FALSE,则表示应用程序没有完全处理该消息,MFC将继续处理该消息。以下是一个简单的示例,演示如何在派生的 CWinApp 类中重写 PreTranslateMessage 方法:// MyApp.hclass CMyApp : public CWinApp{public: virtual BOOL InitInstance(); virtual int ExitInstance(); afx_msg void OnAppAbout()...
MFC CWinApp 类 公共方法:CWinApp::ParseCommandLine
CWinApp::ParseCommandLine 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于解析命令行参数。这个方法允许应用程序检查并处理在启动应用程序时传递的命令行参数。void CMyWinApp::ParseCommandLine(CCommandLineInfo& rCmdInfo){ // 在这里添加解析命令行参数的代码 // 调用基类的方法 CWinApp::ParseCommandLine(rCmdInfo);}在这个方法中,你可以通过 rCmdInfo 对象获取和处理命令行参数。通常,你可能会检查命令行参数以确定应用程序应该以什么模式启动,或者是否需要执行特定的操作。以下是一个简单的例子,演示如何在 ParseCommandLine 中检查命令行参数:void CMyWinApp::ParseCommandLine(CCommandLineInfo& rCmdInfo){ // 调用基类的方法 CWinApp::ParseCommandLine(rCmdInfo); ...
MFC CWinApp 类 公共方法:CWinApp::OpenDocumentFile
CWinApp::OnIdle 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于处理程序处于空闲状态时的任务。通常,当应用程序没有其他事件要处理时,它会调用 OnIdle 方法,以便应用程序可以执行一些后台任务或进行其他处理。你可以重写这个方法,以便在应用程序空闲时执行你自己的代码。BOOL CMyWinApp::OnIdle(LONG lCount){ // 在这里添加你的处理代码 // 返回 TRUE 以便保持空闲处理继续 return CWinApp::OnIdle(lCount);}另一个方法 CWinApp::OpenDocumentFile 用于打开指定的文档文件。它返回指向文档类对象的指针。你可以使用这个方法来在应用程序中打开文档。CDocument* CMyWinApp::OpenDocumentFile(LPCTSTR lpszFileName){ // 在这里添加打开文档的代码 // 调用基类的方法 return CWinApp::OpenDocumentFile(lpszFileNam...
MFC CWinApp 类 公共方法:CWinApp::OnDDECommand
CWinApp::OnDDECommand是MFC(Microsoft Foundation Classes)中CWinApp类的一个公共方法,用于处理DDE(Dynamic Data Exchange)命令。以下是该方法的简要说明:BOOL OnDDECommand( UINT uCmd, CEditDoc* pDoc); uCmd:指定DDE命令的值。 pDoc:指向文档对象的指针,表示与DDE命令相关联的文档。该方法返回一个BOOL值,表示是否成功处理了DDE命令。在使用OnDDECommand时,你通常需要在你的应用程序类中重写此方法,以便根据具体的DDE命令执行适当的操作。以下是一个示例用法:class CMyApp : public CWinApp{public: virtual BOOL OnDDECommand(UINT uCmd, CEditDoc* pDoc) { // 在这里根据具体的DDE命令执行相应的操作 // ... return TRUE; // 表示成功处理了DDE命令 }};这只是一个...
MFC CWinApp 类 公共方法:CWinApp::LoadStandardCursor
在MFC(Microsoft Foundation Classes)中,CWinApp类确实有一个名为LoadStandardCursor的公共方法。该方法用于加载标准的系统光标。以下是该方法的简要说明:HCURSOR LoadStandardCursor( LPCTSTR lpCursorName); lpCursorName:指定要加载的标准系统光标的名称。该方法返回一个HCURSOR句柄,表示加载的标准系统光标。以下是一个示例用法:CWinApp* pApp = AfxGetApp();HCURSOR hCursor = pApp->LoadStandardCursor(IDC_ARROW);在这个例子中,IDC_ARROW是系统定义的光标标识符,表示标准的箭头光标。这个方法通常在应用程序初始化或其他需要加载系统标准光标的地方调用。
MFC CWinApp 类 公共方法:CWinApp::LoadIcon
CWinApp::LoadIcon是CWinApp类中的一个公共方法,用于加载图标资源。以下是该方法的简要说明:HICON LoadIcon( LPCTSTR lpszResourceName); lpszResourceName:指定要加载的图标资源的名称。该方法返回一个HICON句柄,表示加载的图标资源。以下是一个示例用法:CWinApp* pApp = AfxGetApp();HICON hIcon = pApp->LoadIcon(IDI_MY_ICON);在这个例子中,IDI_MY_ICON是你在资源文件中定义的图标资源的标识符。这个方法通常在应用程序初始化或其他需要加载图标资源的地方调用。
MFC CWinApp 类 公共方法:CWinApp::LoadCursor
CWinApp::LoadCursor是CWinApp类中的一个公共方法,用于加载光标资源。以下是该方法的简要说明:HCURSOR LoadCursor( LPCTSTR lpszResourceName); lpszResourceName:指定要加载的光标资源的名称。该方法返回一个HCURSOR句柄,表示加载的光标资源。以下是一个示例用法:CWinApp* pApp = AfxGetApp();HCURSOR hCursor = pApp->LoadCursor(IDC_MY_CURSOR);在这个例子中,IDC_MY_CURSOR是你在资源文件中定义的光标资源的标识符。这个方法通常在应用程序初始化或其他需要加载光标资源的地方调用。
MFC CWinApp 类 公共方法:CWinApp::InitInstance
CWinApp::InitInstance是CWinApp类中的一个关键方法,用于执行应用程序的初始化。在MFC框架中,InitInstance方法在应用程序启动时调用,用于设置应用程序的初始状态、创建主窗口以及执行其他初始化操作。以下是该方法的签名:virtual BOOL InitInstance(); 返回类型:BOOL,表示初始化是否成功。 通常情况下,你需要在派生类中覆盖这个方法,以执行应用程序特定的初始化操作。以下是一个简单的示例,演示如何在InitInstance方法中进行初始化:class CMyApp : public CWinApp{public: virtual BOOL InitInstance() { // 调用基类的初始化方法 if (!CWinApp::InitInstance()) return FALSE; // 执行应用程序的其他初始化操作 // 例如,创建主窗口 CMainFrame* pFrame = new CMainFrame; ...
MFC CWinApp 类 公共方法:CWinApp::HtmlHelp
在MFC(Microsoft Foundation Classes)中,CWinApp类确实有一个名为HtmlHelp的公共方法。该方法用于显示 HTML 帮助文件。以下是该方法的简要说明:HINSTANCE HtmlHelp( DWORD_PTR dwData, UINT uCommand, DWORD_PTR dwData2 = 0); dwData:命令的输入数据。具体取决于uCommand的值。 uCommand:指定执行的操作。常见的命令包括HH_DISPLAY_TOPIC、HH_HELP_CONTEXT等。 dwData2:可选的输入数据,具体取决于uCommand的值。该方法返回一个HINSTANCE,表示帮助窗口的实例句柄。以下是一个示例用法:CWinApp* pApp = AfxGetApp();pApp->HtmlHelp(0, HH_DISPLAY_TOPIC);这个方法通常用于显示 HTML 帮助文件,根据传递的命令和数据执行不同的操作,比如显示主题、显示上下文相关的帮助等。
MFC CWinApp 类 公共方法:CWinApp::GetProfileString
在MFC(Microsoft Foundation Classes)中,CWinApp类确实有一个名为GetProfileString的公共方法。该方法用于从Windows注册表中检索字符串值。以下是该方法的简要说明:CString GetProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszDefault = NULL); lpszSection:指定要检索的配置部分的名称。 lpszEntry:指定要检索的项的名称。 lpszDefault:如果无法找到指定的配置项,则返回的默认字符串。该方法返回一个CString对象,表示从注册表中检索到的字符串值。以下是一个示例用法:CWinApp* pApp = AfxGetApp();CString strValue = pApp->GetProfileString(_T("Settings"), _T("Name"), _T("DefaultName"));// 在这里使用得到的字符...
MFC CWinApp 类 公共方法:CWinApp::GetProfileInt
在MFC(Microsoft Foundation Classes)中,CWinApp类确实有一个名为GetProfileInt的公共方法。该方法用于从Windows注册表中检索整数值。以下是该方法的简要说明:int GetProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault); lpszSection:指定要检索的配置部分的名称。 lpszEntry:指定要检索的项的名称。 nDefault:如果无法找到指定的配置项,则返回的默认值。该方法返回一个int值,表示从注册表中检索到的整数值。以下是一个示例用法:CWinApp* pApp = AfxGetApp();int nValue = pApp->GetProfileInt(_T("Settings"), _T("Count"), 0);// 在这里使用得到的整数值 nValue这个方法通常用于检索应用程序的配置信息。如果在指定的配置部分和项中找不到相应的值,则返回提供的默认值。
MFC CWinApp 类 公共方法:CWinApp::GetProfileBinary
在MFC(Microsoft Foundation Classes)中,确实存在CWinApp::GetProfileBinary这个公共方法。该方法用于从Windows注册表中检索二进制数据。以下是该方法的简要说明:BOOL GetProfileBinary( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPBYTE* ppData, UINT* pBytes); lpszSection:指定要检索的配置部分的名称。 lpszEntry:指定要检索的项的名称。 ppData:指向指针的指针,用于接收二进制数据的缓冲区。如果成功,该指针将指向分配的缓冲区。 pBytes:指向一个UINT的指针,用于接收二进制数据的字节数。如果成功,该指针将包含实际的字节数。该方法返回一个BOOL值,表示是否成功检索了二进制数据。以下是一个示例用法:CWinApp* pApp = AfxGetApp();LPBYTE pData;UINT nBytes;if (pApp->GetProfileBinary(_T("Settings&qu...
MFC CWinApp 类 公共方法:CWinApp::GetNextDocTemplate
在MFC(Microsoft Foundation Classes)中,CWinApp类确实有一个名为GetNextDocTemplate的公共方法。这个方法用于获取应用程序的文档模板链表中的下一个模板。以下是该方法的简要说明:CDocTemplate* GetNextDocTemplate(POSITION& pos) const; 返回类型:CDocTemplate*,表示文档模板链表中的下一个文档模板。 参数:pos,一个引用参数,表示当前文档模板的位置。当调用此方法后,pos将被更新为下一个文档模板的位置。这个方法通常与GetFirstDocTemplatePosition方法一起使用,用于迭代应用程序的文档模板链表。例如,你可以使用以下代码片段来迭代文档模板:CWinApp* pApp = AfxGetApp();POSITION pos = pApp->GetFirstDocTemplatePosition();while (pos != NULL){ CDocTemplate* pTemplate = pApp->GetNextDocTempla...
MFC CWinApp 类 公共方法:CWinApp::GetFirstDocTemplatePosition
在MFC(Microsoft Foundation Classes)中,CWinApp类确实有一个名为GetFirstDocTemplatePosition的公共方法。这个方法用于获取应用程序的文档模板链表的第一个位置(position)。以下是该方法的简要说明:POSITION GetFirstDocTemplatePosition() const; 返回类型:POSITION,表示文档模板链表的第一个位置。 参数:无。这个方法通常与GetNextDocTemplate方法一起使用,用于迭代应用程序的文档模板链表。例如,你可以使用以下代码片段来迭代文档模板:CWinApp* pApp = AfxGetApp();POSITION pos = pApp->GetFirstDocTemplatePosition();while (pos != NULL){ CDocTemplate* pTemplate = pApp->GetNextDocTemplate(pos); // 在这里处理文档模板 pTemplate}请注意,以上是一个简单的示例,实际的使用可能会根据...
MFC CWinApp 类 公共方法:CWinApp::GetAppRegistryKey
CWinApp::GetAppRegistryKey 是 MFC(Microsoft Foundation Classes)中 CWinApp 类的一个公共方法,用于获取应用程序的注册表键。以下是 CWinApp::GetAppRegistryKey 方法的原型:HKEY CWinApp::GetAppRegistryKey();这个方法返回一个 HKEY 句柄,表示应用程序的注册表键。通常,应用程序的设置和配置信息会存储在注册表中,这个方法允许你获取应用程序的注册表键,以便进行读取或写入相关的信息。使用示例:// 示例:获取应用程序的注册表键HKEY hAppRegistryKey = AfxGetApp()->GetAppRegistryKey();// 在这里可以使用 hAppRegistryKey 进行注册表操作在这个示例中,hAppRegistryKey 是应用程序的注册表键的句柄。你可以使用这个句柄进行注册表的读取和写入操作。请注意,对于应用程序的设置,通常推荐使用 MFC 提供的 SetProfileString、GetProfileString 等方法,而不是直接...
MFC CWinApp 类 公共方法:CWinApp::GetApplicationRecoveryParameter
CWinApp::GetApplicationRecoveryParameter 是 MFC(Microsoft Foundation Classes)中 CWinApp 类的一个公共方法。此方法用于获取应用程序恢复的参数,该参数在应用程序启动时通过 SetApplicationRecoveryCallback 函数设置。以下是 CWinApp::GetApplicationRecoveryParameter 方法的原型:BOOL CWinApp::GetApplicationRecoveryParameter( PWSTR pwzCommandLine, PDWORD pcchSize, PBOOL pbRestart);参数说明: pwzCommandLine:用于接收应用程序启动时传递的命令行参数的缓冲区。 pcchSize:指定 pwzCommandLine 缓冲区的大小,以字符数表示。如果传递的缓冲区太小,该参数将被设置为所需的大小。 pbRestart:指向一个布尔值的指针,用于接收一个值,该值指示应用程序是否应该尝试重新启动。如果为 TRUE,则应用程序应尝试重...
MFC CWinApp 类 公共方法:CWinApp::ExitInstance
CWinApp::ExitInstance 是 MFC(Microsoft Foundation Classes)中 CWinApp 类的一个公共方法。这个方法在应用程序退出时被调用,用于执行一些清理工作。以下是 CWinApp::ExitInstance 方法的原型:virtual int CWinApp::ExitInstance();ExitInstance 方法返回一个整数,通常是程序的退出代码。默认情况下,它返回 0,表示应用程序退出正常。你可以重写这个方法,以便在程序退出前执行一些自定义的清理工作。使用示例:// 重写 ExitInstance 方法int CMyApp::ExitInstance(){ // 在这里执行自定义的清理工作 // 调用基类的 ExitInstance 方法 return CWinApp::ExitInstance();}在上述示例中,CMyApp 是你的应用程序类,你可以在 ExitInstance 方法中添加自己的清理代码。在退出之前进行资源释放、保存设置等操作是比较常见的用途。ExitInstance 方法会在应用程序退出...
MFC CWinApp 类 公共方法:CWinApp::DoWaitCursor
CWinApp::DoWaitCursor 是 MFC(Microsoft Foundation Classes)中 CWinApp 类的公共方法之一。这个方法用于在当前线程中切换鼠标光标为等待("Hourglass")光标,并在退出时恢复原始光标状态。以下是 CWinApp::DoWaitCursor 方法的原型:void CWinApp::DoWaitCursor(int nCode);参数说明: nCode:指定要执行的操作。通常情况下,使用 AfxGetApp()->DoWaitCursor(1) 开启等待光标,使用 AfxGetApp()->DoWaitCursor(-1) 恢复原始光标状态。使用示例:// 示例:在某个操作期间显示等待光标AfxGetApp()->DoWaitCursor(1); // 开启等待光标// 在这里执行一些需要等待的操作AfxGetApp()->DoWaitCursor(-1); // 恢复原始光标状态在这个示例中,AfxGetApp()->DoWaitCursor(1) 开启等待光标,执行需要...