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

📄 c02ide.h

📁 类似vc的集成开发环境
💻 H
字号:
// C02IDE.h : main header file for the C02IDE application
//

#if !defined(AFX_DEVSTUDIOUIDEMO_H__A70BFFA6_2939_11D3_873E_000000000000__INCLUDED_)
#define AFX_DEVSTUDIOUIDEMO_H__A70BFFA6_2939_11D3_873E_000000000000__INCLUDED_

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

#ifndef __AFXWIN_H__
	#error include 'stdafx.h' before including this file for PCH
#endif
#include  <afxtempl.h>  
#include "resource.h"     // main symbols
#include "C02IDEView.h"
#include "TabClassDoc.h"
#include "TabFileView.h"


extern int i_usermode;//用户模式:1,编辑 2,编译 3,调试.

extern int i_newblankfile;//new file 个数
  //该结构保存一个函数信息
typedef struct FuncStruct
{
	// 存放函数名
  CString str_funcname;   
  //存放函数声明位置的行索引
  int      n_shengming;
  //存放函数定义位置的行索引
  int       n_dingyi;

  	 //要添加函数返回值类型
     CString str_functype;
	 //要添加函数的参数个数
     int     canshunumber;
     //addfuncinfo结构的对象数组,函数的参数信息
     CObArray canshuinfo;       

} funcStru;

//该结构保存一个断点信息
typedef struct CompStruct
{
	//存放断点的名称
  CString str_breakname;
   	//存放断点的位置的行索引
  int      n_breakline;

} comStru;
typedef struct ErrStruct
{
	//存放
// CString str_breakname;
   	//存放

	CMDIChildWnd *m_pChildWnd; 
	int     i_errline;

} errstru;
 extern  CObArray oa_error;   
//该结构保存一个文件的相关信息
//typedef struct
typedef struct FileList
{
	CString str_proname;
	//保存文件名
    CString str_filename;
	//保存子窗口对象指针
    CCJMDIChildWnd *m_pChildWnd;

	//保存一个树形目录的项	
	HTREEITEM t_fileitem;
	//CompStruct结构的对象数组
	CObArray compileinfstru;   
	//存储funcStru类型的对象数组
	CObArray funcinfstru;

	//存储AddFunc类型的对象数组
	CObArray oa_funcinfstru;



} fileStru;

//该结构保存一个项目的相关信息
typedef struct ProjectList
{    
	//保存项目名
	CString str_projectname;
    // 存储fileStru 类型的 对象数组
    CObArray proinfstru;       
} proStru;
 
//保存ProjectList结构的对象数组, 保存当前项目,文件,函数信息
extern     CObArray   projectinfo;   



  //保存当前操作的文件指针
	extern  FileList * m_pfile;    

 
//保存添加的函数的一个参数的信息
typedef struct CanShu
{   
	//参数名
	CString str_canshuname;
    //参数类型
	CString str_canshutype;       // 存储fileStru 类型
} addfuncinfo;

//保存添加的函数的相关信息
typedef struct AddFunc
{    
     //要添加函数的文件索引
	 int     n_addfileno;
	 //添加的函数名
     CString str_funcname;
	 //要添加函数返回值类型
     CString str_functype;
	 //要添加函数的参数个数
     int     canshunumber;
     //addfuncinfo结构的对象数组,函数的参数信息
     CObArray canshuinfo;        
} funcadd;                   

  // 指向AddFunc的指针,保存要添加的函数的信息 
extern struct AddFunc *functionadd;     

//一个树形节点的信息  
struct fileitem
	{
	    //节点的索引
		int n_nodenumber;
		//节点对应的CTREECTRL的一个项
		HTREEITEM titem;
		//节点对应的子窗口指针
		CMDIChildWnd *m_pchildf;
	};

//保存当前所有打开的文件的树形节点信息,在树形目录中的位置信息
extern  fileitem fileitemarray[30];  

//正在操作的文件编号  
extern int n_filenumber;
  
 //正在操作的函数编号       
extern int n_funcnumber;

//所加函数的参数个数        
extern	int allcanshunum;    

//正在处理的参数索引  
extern	 int addcanshunum;

//文件函数树形目录文档指针
extern	CTabFileDoc*		m_pDocFile;  

//文件断点树形目录文档指针
extern	CTabClassDoc*		m_pDocClass;
 
//当前子窗口将要定位光标的行索引 ,查找函数 及定位函数时使用       
  extern int gotoline;        

//保存编辑控件中当前选择的信息
  struct cursel
  {
	  //编辑控件中当前选择的起始字符的索引
	  int n_min;
	   //编辑控件中当前选择的结束字符的索引
	  int n_max;
  };

  //定义一个cursel类型的变量
    extern cursel curselpos;

	//当前查找字符串
	extern   CString findstring;

	//当前查找位置的行信息
    extern   int findstringcurhang;
	//当前查找位置的列信息
	extern   int findstringcurlie;


	//全文查找或多文件查找时使用的保存查找结果的结构
	struct SearchInf
	{
		//文件索引
		int n_fileno;
		//文件名
		CString str_filenm;
        //文件缩在窗口的指针
		CMDIChildWnd *m_pchildf;
		//字符串缩在行
		int n_lineno;
		//字符串缩在列
		int n_rowno;
		////字符串缩在行的文本信息
		CString str_linetext;
		
	};
   //定义一个SearchInf结构的变量
	extern     CObArray   a_searchinfo;  

	extern   int m_nItem;
   
	extern  int m_nSubItem;

	extern CMapPtrToPtr m_mappro;
 
/////////////////////////////////////////////////////////////////////////////
// CC02IDEApp:
// See C02IDE.cpp for the implementation of this class
//

class CMainFrame;
class CC02IDEApp : public CWinApp
{
public:
	CC02IDEApp();

    

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CC02IDEApp)
	public:
	virtual BOOL InitInstance();
	virtual int ExitInstance();
	//}}AFX_VIRTUAL

// Implementation
	CMainFrame* m_pMainFrame;
//	CMainFrame*			m_pMainFrame;
	CMultiDocTemplate*	m_pDocTemplate;
	CMultiDocTemplate*	m_pDocWorkspTemplate;
	CFrameWnd*			m_pChildFrame;
	BOOL                 m_bAutoReturn;

	//{{AFX_MSG(CC02IDEApp)
	afx_msg void OnProjectNew();
	afx_msg void OnFileNew();
	afx_msg void OnFileNewC02();
	afx_msg void OnAppAbout();
	afx_msg void OnFileOpen();
	afx_msg void OnFilePrintSetup();
	afx_msg void OnFileSaveAs();
	afx_msg void OnFileSaveAll();
	afx_msg void OnUpdateFileMruFile1(CCmdUI* pCmdUI);
	afx_msg BOOL OnOpenRecentFileEx(UINT nID);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
	virtual BOOL DoPromptFileName(CString& fileName, UINT nIDSTitle, DWORD lFlags,
                              BOOL bOpenFileDialog, CDocTemplate* pTemplate);
	
};


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

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DEVSTUDIOUIDEMO_H__A70BFFA6_2939_11D3_873E_000000000000__INCLUDED_)

⌨️ 快捷键说明

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