project.h

来自「一个完整的编辑器的代码(很值得参考」· C头文件 代码 · 共 63 行

H
63
字号

#ifndef __PROJECT_H__INCLUDED__
#define __PROJECT_H__INCLUDED__

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

#include "listex.h"

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

#define PI_GROUP 0x0001
#define PI_FILE 0x0002
#define PI_ROOT 0x0004
#define PI_SUBITEM 0x0008

#define PR_MODIFIED 0x0001

struct CProjectItem;

typedef CListEx<CProjectItem*, CProjectItem*> CProjectItemList;

struct CProjectItem
  {
    CString sPath, sMidPath;
    DWORD dwType;
    CProjectItemList lstItems;
  };

#pragma warning (disable : 4512)
class CProject : public CObject
  {
    public :
      DECLARE_DYNAMIC (CProject)

      CProject ();
      virtual ~CProject ();

      CString MakePath (CProjectItem *pItem);
      virtual bool New ();
      virtual bool Open (LPCTSTR pszPath) = 0;
      virtual bool Save (LPCTSTR pszPath) = 0;

      void RemoveItems (POSITION pos);
      bool IsModified ();
      void SetModified (BOOL bModified = TRUE);

      CString sPath;
      CProjectItemList lstItems;
      DWORD dwFlags;
  };
#pragma warning (default : 4512)

extern CProject *g_pProject;

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

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

#endif // __PROJECT_H__INCLUDED__

⌨️ 快捷键说明

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