Procházet zdrojové kódy

1、重载OnFileNew和OnFileOpen函数。
系统默认创建的是
ON_COMMAND(ID_FILE_NEW, &CWinAppEx::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinAppEx::OnFileOpen)

Jeff před 6 roky
rodič
revize
becb06b1f1
2 změnil soubory, kde provedl 28 přidání a 2 odebrání
  1. 26 2
      IDE/IDE/IDE.cpp
  2. 2 0
      IDE/IDE/IDE.h

+ 26 - 2
IDE/IDE/IDE.cpp

@@ -31,10 +31,12 @@
 BEGIN_MESSAGE_MAP(CIDEApp, CWinAppEx)
 	ON_COMMAND(ID_APP_ABOUT, &CIDEApp::OnAppAbout)
 	// 基于文件的标准文档命令
-	ON_COMMAND(ID_FILE_NEW, &CWinAppEx::OnFileNew)
-	ON_COMMAND(ID_FILE_OPEN, &CWinAppEx::OnFileOpen)
+	//ON_COMMAND(ID_FILE_NEW, &CWinAppEx::OnFileNew)
+	//ON_COMMAND(ID_FILE_OPEN, &CWinAppEx::OnFileOpen)
 	// 标准打印设置命令
 	ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinAppEx::OnFilePrintSetup)
+	ON_COMMAND(ID_FILE_NEW, &CIDEApp::OnFileNew)
+	ON_COMMAND(ID_FILE_OPEN, &CIDEApp::OnFileOpen)
 END_MESSAGE_MAP()
 
 
@@ -124,6 +126,8 @@ BOOL CIDEApp::InitInstance()
 	// 分析标准外壳命令、DDE、打开文件操作的命令行
 	CCommandLineInfo cmdInfo;
 	ParseCommandLine(cmdInfo);
+	// 启动时,不自动创建一个空白文档视图;
+	cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
 
 
 	// 调度在命令行中指定的命令。如果
@@ -202,3 +206,23 @@ void CIDEApp::SaveCustomState()
 
 
 
+
+
+void CIDEApp::OnFileNew()
+{
+	// TODO: 在此添加命令处理程序代码
+#ifdef _DEBUG
+	OutputDebugString(_T("重载OnFileNew函数"));
+#endif
+	CWinAppEx::OnFileNew();
+}
+
+
+void CIDEApp::OnFileOpen()
+{
+	// TODO: 在此添加命令处理程序代码
+#ifdef _DEBUG
+	AfxMessageBox(_T("重载OnFileOpen函数"));
+#endif
+	CWinAppEx::OnFileOpen();
+}

+ 2 - 0
IDE/IDE/IDE.h

@@ -44,6 +44,8 @@ public:
 
 	afx_msg void OnAppAbout();
 	DECLARE_MESSAGE_MAP()
+	afx_msg void OnFileNew();
+	afx_msg void OnFileOpen();
 };
 
 extern CIDEApp theApp;