⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.h

📁 Visual C++编写的工程解析器源代码
💻 H
字号:
// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__D9A694D9_A977_4803_B5E4_6B2CFC31E2ED__INCLUDED_)
#define AFX_MAINFRM_H__D9A694D9_A977_4803_B5E4_6B2CFC31E2ED__INCLUDED_

#include "TrayIcon.h"
#include "CoolTabCtrl.h"
#include "TabViewCtrl.h"
#include "RichEditCtrlEx.h"

#include "scbarg.h"
#include "CoolTabCtrl.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//系统工具栏配置文件名
#define GLOBAL_TOOLS_INFO_FILE_NAME	"SysToolsInfo.ini"

//热键ID和任务栏管理时消息ID
#define GLOBAL_SYSHOTKEY_ID WM_USER + 120
#define GLOBAL_TRAYICON_ID	WM_USER + 121

//系统类和文件视图ID
#define GLOBAL_SYSLEFTVIEW_ID		WM_USER + 122
#define GLOBAL_SYSTABCTRL_ID		WM_USER + 123

//!!!客户区对象ID依次递增(预留20个对象ID空间)
//如再定义全局对象,其可用ID起始号为:
//GLOBAL_SYSCLIENTTABCTRL_ID + 20
#define GLOBAL_SYSCLIENTTABCTRL_ID	WM_USER + 124

//工具配置菜单在主菜单中的索引号
#define ID_TOOLS_MENU_INDEX			2

//工具配置菜单预留20个ID号空间
#define ID_TOOLS_MENU_BASEMENUID	WM_USER + 150
#define ID_TOOLS_MENU_ENDMENUID		WM_USER + 170

//

class CMainFrame : public CFrameWnd
{
	DECLARE_DYNCREATE(CMainFrame)
public: 
	CMainFrame();

	//得到系统主目录
	CString GetAppPath();

// Attributes
protected:
	//标志当前工程类型:VC/Delphi
	BOOL m_bIsVCProjFlag;
	//任务栏管理
	CTrayIcon m_sysTrayIcon;
	CMenu hTrayMenu;	
	
	//临时文件名变量[类名和文件名之间的桥梁]
	char* lpClassFilename;	//框架全局变量

	//得到某个菜单状态
	UINT GetMainMenuState(int nMenuID, UINT uSubID, UINT uFlag);
	void SetMainMenuState(int nMenuID, UINT uSubID, UINT uFlag, BOOL bEnable);
public:
	//状态栏
	CStatusBar  m_wndStatusBar;
	//保存工程文件列表
	CStringList m_lstProjFile;

	//多页管理(感谢CCoolTabCtrl作者)
	//CDialogBar  m_wndDlgBar;
	CCoolTabCtrl m_wndTabCtrl;
	CCoolBar m_wndLeftBar;

	CImageList ilTFImageList;	//图标列表(类和文件类表树)
	CImageList ilCTImageList;	//客户区TABCTRL

	/*****************客户区对象定义**************/
	CTabViewCtrl m_wndContentTab;
	CRichEditCtrlEx m_wndRichEdit;	//文件浏览编辑器

// Operations
public:
	//得到TOOLBAR和STATUSBAR的尺寸
	CSize GetToolBarSize();
	CSize GetStatusBarSize();
	//更新系统树型目录(CPP|HEAD文件名列表)
	void UpdateSysTrees();
	//更新文件树
	void UpdateFileTreeView(CTreeCtrl* lpTree);
	//根据文件树来更新类目录树
	void UpdateClassTreeView(CTreeCtrl* lpClassTree, CTreeCtrl* lpFileTree);
	//关闭文件|类目录树
	void CloseSysTree();
	//清空系统多页内容
	void CloasContentTabCtrl();

	//移去所有Tools菜单下的Item
	void RemoveAllToolsMenuItem();
	//根据配置文件来更新系统主菜单[工具配置]
	BOOL UpdateToolsMenu();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMainFrame)
	public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	virtual void RecalcLayout(BOOL bNotify = TRUE);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members	
	CToolBar    m_wndToolBar;
	
	void UpdateVCFileTreeView(CTreeCtrl* lpTree);
	void UpdateDelphiFileTreeView(CTreeCtrl* lpTree);

// Generated message map functions
protected:
	//{{AFX_MSG(CMainFrame)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnDestroy();
	afx_msg void OnVcfileOpen();
	afx_msg void OnVcfileClose();
	afx_msg void OnViewSystree();
	afx_msg void OnUpdateViewSystree(CCmdUI* pCmdUI);
	afx_msg void OnViewSysinfo();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnToolsCustom();
	//}}AFX_MSG
	LRESULT OnTrayNotification(WPARAM wparam, LPARAM lparam);
	void OnUpdateStatusbarInfo(WPARAM wparam, LPARAM lparam);

	void OnExecToolApp(UINT nID);
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__D9A694D9_A977_4803_B5E4_6B2CFC31E2ED__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -