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

📄 main.h

📁 一个用C++Builder写的XML编辑器
💻 H
字号:
//---------------------------------------------------------------------------

#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <msxmldom.hpp>
#include <XMLDoc.hpp>
#include <xmldom.hpp>
#include <XMLIntf.hpp>
#include "SHDocVw_OCX.h"
#include <OleCtrls.hpp>
#include <Grids.hpp>
#include <ValEdit.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <Menus.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>
#include <ToolWin.hpp>
#include <HTTPApp.hpp>



enum TEditType{ etNull = 0, etCut = 1,etCopy  };

//---------------------------------------------------------------------------
class TFormXMLEdit : public TForm
{
__published:	// IDE-managed Components
        TXMLDocument *XMLDocumentToEdit;
        TOpenDialog *OpenDialogFile;
        TMainMenu *MainMenuMain;
        TMenuItem *MenuFile;
        TMenuItem *MenuEdit;
        TMenuItem *MenuView;
        TMenuItem *MenuIns;
        TMenuItem *MenuHelp;
        TMenuItem *MenuFileNew;
        TMenuItem *MenuFileOpen;
        TMenuItem *N9;
        TMenuItem *MenuFileSave;
        TMenuItem *MenuFileSaveAs;
        TMenuItem *N12;
        TMenuItem *MenuFileRecent;
        TMenuItem *N14;
        TMenuItem *MenuFileClose;
        TMenuItem *MenuEditCut;
        TMenuItem *MenuEditCopy;
        TMenuItem *MenuEditPaste;
        TMenuItem *N20;
        TMenuItem *MenuEditClear;
        TMenuItem *N23;
        TMenuItem *MenuEditFind;
        TMenuItem *MenuViewSource;
        TMenuItem *MenuViewPreview;
        TMenuItem *MenuInsElement;
        TMenuItem *MenuInsAttrib;
        TMenuItem *MenuHelpContent;
        TMenuItem *MenuHelpAbout;
        TImageList *ImageListMain;
        TStatusBar *StatusBarMain;
        TToolBar *ToolBarMain;
        TToolButton *ToolButtonNew;
        TToolButton *ToolButtonOpen;
        TToolButton *ToolButtonSave;
        TToolButton *ToolButton4;
        TToolButton *ToolButtonUndo;
        TToolButton *ToolButtonCut;
        TToolButton *ToolButtonCopy;
        TToolButton *ToolButtonPaste;
        TToolButton *ToolButtonFind;
        TToolButton *ToolButton10;
        TToolButton *ToolButtonIns;
        TToolButton *ToolButtonRenAttrib;
        TToolButton *ToolButton13;
        TToolButton *ToolButtonExpand;
        TToolButton *ToolButtonCollapse;
        TToolButton *ToolButton22;
        TToolButton *ToolButtonHelp;
        TToolButton *ToolButtonDel;
        TToolButton *ToolButtonProview;

        TGroupBox *GroupBox1;
        TTreeView *TreeViewXML;
        TGroupBox *GroupBox2;
        TValueListEditor *ValueListEditorValue;
        TToolButton *ToolButton1;
        TPopupMenu *PopupMenuXML;
        TMenuItem *PopupMenuInsElement;
        TMenuItem *PopupMenuInsAttrib;
        TMenuItem *PopupMenuDel;
        TMenuItem *MenuFileCloseFile;
        TSaveDialog *SaveDialogXML;
        TMenuItem *N1;
        TMenuItem *PopupMenuCut;
        TMenuItem *PopupMenuCopy;
        TMenuItem *PopupMenuPaste;
        TPopupMenu *PopupMenuIns;
        TMenuItem *TBMemuInsElement;
        TMenuItem *TBMemuInsAttrib;
        TTimer *TimerXML;
        TMenuItem *N2;
        TMenuItem *MenuViewExpand;
        TMenuItem *MenuViewCollapse;
        TMenuItem *MenuEditRenAttrib;
        TMenuItem *MenuEditRenNode;
        TMenuItem *N3;
        TMenuItem *PopupMenuRenNode;
        TFindDialog *FindDialogXML;
        void __fastcall TreeViewXMLChange(TObject *Sender, TTreeNode *Node);
        void __fastcall ToolButtonOpenClick(TObject *Sender);
        void __fastcall ToolButtonSaveClick(TObject *Sender);
        void __fastcall MenuFileCloseClick(TObject *Sender);
        void __fastcall TreeViewXMLMouseUp(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y);
        void __fastcall PopupMenuInsElementClick(TObject *Sender);
        void __fastcall PopupMenuDelClick(TObject *Sender);
        void __fastcall ToolButtonInsClick(TObject *Sender);
        void __fastcall MenuHelpAboutClick(TObject *Sender);
        void __fastcall PopupMenuInsAttribClick(TObject *Sender);
        void __fastcall ToolButtonNewClick(TObject *Sender);
        void __fastcall MenuFileCloseFileClick(TObject *Sender);
        void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
        void __fastcall ToolButtonProviewClick(TObject *Sender);
        void __fastcall MenuViewSourceClick(TObject *Sender);
        void __fastcall MenuEditClearClick(TObject *Sender);
        void __fastcall ToolButtonFindClick(TObject *Sender);
        void __fastcall MenuFileSaveAsClick(TObject *Sender);
        void __fastcall PopupMenuCutClick(TObject *Sender);
        void __fastcall PopupMenuCopyClick(TObject *Sender);
        void __fastcall PopupMenuPasteClick(TObject *Sender);
        void __fastcall TimerXMLTimer(TObject *Sender);
        void __fastcall ToolButtonNewMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonOpenMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonSaveMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonUndoMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonDelMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonCutMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonCopyMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonPasteMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonFindMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonProviewMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonInsMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonHelpMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonExpandMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonCollapseMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall ToolButtonExpandClick(TObject *Sender);
        void __fastcall ToolButtonCollapseClick(TObject *Sender);
        void __fastcall ToolButtonRenAttribMouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y);
        void __fastcall MenuEditRenAttribClick(TObject *Sender);
        void __fastcall ToolButtonRenAttribClick(TObject *Sender);
        void __fastcall ValueListEditorValueKeyUp(TObject *Sender,
          WORD &Key, TShiftState Shift);
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall PopupMenuRenNodeClick(TObject *Sender);

private:	// User declarations
        bool RenKeyFlag;
        TValueListEditor *SaveValueListEditor;

        enum TEditType EditType;
        AnsiString ProgramPath ;

        AnsiString  XMLFileName ;
        IXMLNode  *RootXMLNode;
        IXMLNode  *BufferXMLNode;
        IXMLNode  *SelectedXMLNode;

        TTreeNode *BufferTreeNode;


        void __fastcall TFormXMLEdit::BrushAttribute(IXMLNode *aNode);
public:		// User declarations
        __fastcall TFormXMLEdit(TComponent* Owner);
        void __fastcall MenuFileRecentClick(TObject *Sender);

        void  __fastcall EnableAll(bool State = false);
        void  __fastcall CreateNode();
        int   __fastcall LoadRecent();
        int   __fastcall SaveRecent();
        int   __fastcall OpenXMLFromFile(AnsiString FileName );

        void __fastcall AddNode(TTreeNode *TreeNode,IXMLNode *XMLNode);
        void __fastcall AddXMLNode(IXMLNode *XMLNodeDest,IXMLNode *XMLNodeSour );

};
//---------------------------------------------------------------------------
extern PACKAGE TFormXMLEdit *FormXMLEdit;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

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