mwcustomedit.hpp

来自「本人买的<<VC++项目开发实例>>源代码配套光盘.」· HPP 代码 · 共 768 行 · 第 1/3 页

HPP
768
字号
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'mwCustomEdit.pas' rev: 5.00

#ifndef mwCustomEditHPP
#define mwCustomEditHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Menus.hpp>	// Pascal unit
#include <uTextDrawer.hpp>	// Pascal unit
#include <ShellAPI.hpp>	// Pascal unit
#include <mwHighlighter.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <Imm.hpp>	// Pascal unit
#include <Printers.hpp>	// Pascal unit
#include <mwSupportClasses.hpp>	// Pascal unit
#include <mwSupportProcs.hpp>	// Pascal unit
#include <mwLocalStr.hpp>	// Pascal unit
#include <mwEditSearch.hpp>	// Pascal unit
#include <mwKeyCmds.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Mwcustomedit
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TmwEditExporter { cfRTF, cfHTML };
#pragma option pop

typedef Set<TmwEditExporter, cfRTF, cfHTML>  TmwEditExporters;

#pragma option push -b-
enum TmwSearchOption { mwsoMatchCase, mwsoWholeWord, mwsoBackwards, mwsoEntireScope, mwsoSelectedOnly, 
	mwsoReplace, mwsoReplaceAll, mwsoPrompt };
#pragma option pop

typedef Set<TmwSearchOption, mwsoMatchCase, mwsoPrompt>  TmwSearchOptions;

#pragma option push -b-
enum TmwReplaceAction { mwraCancel, mwraSkip, mwraReplace, mwraReplaceAll };
#pragma option pop

class DELPHICLASS EmwEditError;
class PASCALIMPLEMENTATION EmwEditError : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall EmwEditError(const AnsiString Msg) : Sysutils::Exception(Msg
		) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EmwEditError(const AnsiString Msg, const System::TVarRec 
		* Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EmwEditError(int Ident)/* overload */ : Sysutils::Exception(
		Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EmwEditError(int Ident, const System::TVarRec * Args
		, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EmwEditError(const AnsiString Msg, int AHelpContext) : 
		Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EmwEditError(const AnsiString Msg, const System::TVarRec 
		* Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
		) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EmwEditError(int Ident, int AHelpContext)/* overload */
		 : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EmwEditError(System::PResStringRec ResStringRec, 
		const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(
		ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EmwEditError(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TSelectionMode { smNormal, smColumn, smLine };
#pragma option pop

typedef TSelectionMode *PSelectionMode;

typedef void __fastcall (__closure *TIndexEvent)(int Index);

typedef void __fastcall (__closure *TPaintEvent)(System::TObject* Sender, Graphics::TCanvas* ACanvas
	);

typedef void __fastcall (__closure *TSpecialLineColorsEvent)(System::TObject* Sender, int Line, bool 
	&Special, Graphics::TColor &FG, Graphics::TColor &BG);

typedef void __fastcall (__closure *TReplaceTextEvent)(System::TObject* Sender, const AnsiString ASearch
	, const AnsiString AReplace, int Line, int Column, TmwReplaceAction &Action);

typedef void __fastcall (__closure *TDropFilesEvent)(System::TObject* Sender, int X, int Y, Classes::TStrings* 
	Files);

typedef void __fastcall (__closure *TProcessCommandEvent)(System::TObject* Sender, Mwkeycmds::TmwEditorCommand 
	&Command, char &AChar, void * Data);

#pragma option push -b-
enum TCaretType { ctVerticalLine, ctHorizontalLine, ctHalfBlock, ctBlock };
#pragma option pop

#pragma option push -b-
enum TChangeReason { mwcrInsert, mwcrPaste, mwcrDragDropInsert, mwcrDeleteAfterCursor, mwcrDelete, mwcrSelDelete, 
	mwcrDragDropDelete, mwcrLineBreak, mwcrNone };
#pragma option pop

struct TChange;
typedef TChange *TChangePtr;

struct TChange
{
	char *ChangeStr;
	TChangeReason ChangeReason;
	Windows::TPoint ChangeStartPos;
	Windows::TPoint ChangeEndPos;
	TSelectionMode ChangeSelMode;
} ;

#pragma option push -b-
enum TmwPrintStatus { psBegin, psNewPage, psEnd };
#pragma option pop

typedef void __fastcall (__closure *TPrintStatusEvent)(System::TObject* Sender, TmwPrintStatus Status
	, int PageNumber, bool &Abort);

#pragma option push -b-
enum TmwMarginUnits { muPixels, muThousandthsOfInches, muMillimeters };
#pragma option pop

struct TmwPrintOptions
{
	bool SelectedOnly;
	bool Highlighted;
	bool WrapLongLines;
	bool IgnoreColors;
	int Copies;
	TmwMarginUnits MarginUnits;
	Windows::TRect Margins;
	Windows::TRect PrintRange;
	AnsiString Title;
	Classes::TStringList* Header;
	Classes::TStringList* Footer;
} ;

#pragma option push -b-
enum TmwHeaderFooterAlign { hfaLeft, hfaRight, hfaCenter };
#pragma option pop

#pragma option push -b-
enum TmwStateFlag { mwsfCaretChanged, mwsfScrollbarChanged, mwsfLinesChanging, mwsfInScrollLoop, mwsfCaretVisible, 
	mwsfDblClicked, mwsfWaitForDragging };
#pragma option pop

typedef Set<TmwStateFlag, mwsfCaretChanged, mwsfWaitForDragging>  TmwStateFlags;

#pragma option push -b-
enum TmwEditorOption { mweoAutoIndent, mweoDragDropEditing, mweoDropFiles, mweoHalfPageScroll, mweoScrollPastEol, 
	mweoShowScrollHint, mweoTabsToSpaces, mweoSmartTabs };
#pragma option pop

typedef Set<TmwEditorOption, mweoAutoIndent, mweoSmartTabs>  TmwEditorOptions;

#pragma option push -b-
enum TmwStatusChange { mwscCaretX, mwscCaretY, mwscLeftChar, mwscTopLine, mwscInsertMode };
#pragma option pop

typedef Set<TmwStatusChange, mwscCaretX, mwscInsertMode>  TmwStatusChanges;

typedef void __fastcall (__closure *TStatusChangeEvent)(System::TObject* Sender, TmwStatusChanges Changes
	);

class DELPHICLASS TMark;
class DELPHICLASS TmwCustomEdit;
class DELPHICLASS TUndoList;
class PASCALIMPLEMENTATION TUndoList : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	Classes::TList* fList;
	int fCanUndo;
	int fMaxUndo;
	TmwCustomEdit* fOwner;
	bool fUndoLocked;
	int __fastcall GetCanUndo(void);
	void __fastcall SetMaxUndo(const int Value);
	
protected:
	void __fastcall RemoveChange(int index);
	
public:
	__fastcall TUndoList(TmwCustomEdit* AOwner);
	__fastcall virtual ~TUndoList(void);
	void __fastcall AddChange(TChangeReason ChangeReason, const Windows::TPoint &ChangeStartPos, const 
		Windows::TPoint &ChangeEndPos, char * ChangeStr, TSelectionMode ChangeSelMode);
	TChangeReason __fastcall GetChange(Windows::TPoint &ChangeStartPos, Windows::TPoint &ChangeEndPos, 
		char * &ChangeStr, TSelectionMode &ChangeSelMode);
	TChangeReason __fastcall GetChangeReason(void);
	void __fastcall ClearList(void);
	void __fastcall LockUndo(void);
	void __fastcall UnLockUndo(void);
	__property int CanUndo = {read=GetCanUndo, nodefault};
	__property int MaxUndo = {read=fMaxUndo, write=SetMaxUndo, nodefault};
};


class DELPHICLASS TMarkList;
class PASCALIMPLEMENTATION TMark : public System::TObject 
{
	typedef System::TObject inherited;
	
protected:
	int fLine;
	int fColumn;
	int fImage;
	TmwCustomEdit* fEdit;
	bool fVisible;
	bool fInternalImage;
	int fBookmarkNum;
	virtual TmwCustomEdit* __fastcall GetEdit(void);
	virtual void __fastcall SetColumn(const int Value);
	virtual void __fastcall SetImage(const int Value);
	virtual void __fastcall SetLine(const int Value);

⌨️ 快捷键说明

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