具体而言,m_nShellCommand 的值代表了应用程序应该采取的操作,通常是从命令行参数解析而来。以下是一些 m_nShellCommand 常用的取值及其含义:
- CCommandLineInfo::FileNew(0):创建一个新的文档。
- CCommandLineInfo::FileOpen(1):打开一个现有的文档。
- CCommandLineInfo::FilePrint(2):打印文档。
- CCommandLineInfo::FilePrintTo(3):打印到指定的打印机。
- CCommandLineInfo::FileDDE(4):通过DDE(动态数据交换)打开文档。
以下是一个简单的示例代码,演示了如何使用 m_nShellCommand:
#include "stdafx.h"
#include "YourApp.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CYourAppApp
BEGIN_MESSAGE_MAP(CYourAppApp, CWinApp)
ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()
CYourAppApp::CYourAppApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的 CYourAppApp 对象
CYourAppApp theApp;
// CYourAppApp 初始化
BOOL CYourAppApp::InitInstance()
{
// 标准初始化
// 如果一个控件不支持此功能,则返回 FALSE
AfxEnableControlContainer();
// 解析标准 shell 命令行
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// 根据命令确定要执行的操作
switch (cmdInfo.m_nShellCommand)
{
case CCommandLineInfo::FileNew:
// 创建新文档的操作
break;
case CCommandLineInfo::FileOpen:
// 打开现有文档的操作
break;
// 其他命令的处理...
default:
// 默认的操作
break;
}
return TRUE;
}
这只是一个简单的示例,实际上,你可能需要根据你的应用程序的特定需求进行更详细和复杂的处理。确保查阅相应版本的 MFC 文档以获取准确的信息。
转载请注明出处:http://www.zyzy.cn/article/detail/16043/MFC/CCommandLineInfo