mwcustomedit.hpp

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

HPP
768
字号
	void __fastcall MBCSGetSelRangeInLineWhenColumnSelectionMode(const AnsiString s, int &ColFrom, int 
		&ColTo);
	virtual void __fastcall PrintStatus(TmwPrintStatus Status, int PageNumber, bool &Abort);
	void __fastcall InvalidateGutter(int FirstLine, int LastLine);
	void __fastcall InvalidateLines(int FirstLine, int LastLine);
	void __fastcall RecalcCharExtent(void);
	void __fastcall HighlighterAttrChanged(System::TObject* Sender);
	virtual void __fastcall SetCaretXY(const Windows::TPoint &Value);
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall DestroyWnd(void);
	
public:
	__fastcall virtual TmwCustomEdit(Classes::TComponent* AOwner);
	__fastcall virtual ~TmwCustomEdit(void);
	virtual void __fastcall WndProc(Messages::TMessage &msg);
	DYNAMIC void __fastcall DragDrop(System::TObject* Source, int X, int Y);
	int __fastcall CaretXPix(void);
	int __fastcall CaretYPix(void);
	void __fastcall DoCopyToClipboard(const AnsiString SText);
	void __fastcall CopyToClipboard(void);
	void __fastcall CutToClipboard(void);
	void __fastcall PasteFromClipboard(void);
	void __fastcall SelectAll(void);
	void __fastcall ClearAll(void);
	void __fastcall Undo(void);
	void __fastcall Redo(void);
	void __fastcall ClearBookMark(int BookMark);
	void __fastcall GotoBookMark(int BookMark);
	void __fastcall SetBookMark(int BookMark, int X, int Y);
	bool __fastcall GetBookMark(int BookMark, int &X, int &Y);
	bool __fastcall IsBookmark(int BookMark);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall EnsureCursorPosVisible(void);
	virtual void __fastcall CommandProcessor(Mwkeycmds::TmwEditorCommand Command, char AChar, void * Data
		);
	virtual Windows::TPoint __fastcall NextWordPos();
	virtual Windows::TPoint __fastcall PrevWordPos();
	virtual void __fastcall SetDefaultKeystrokes(void);
	void __fastcall BeginUpdate(void);
	void __fastcall EndUpdate(void);
	int __fastcall GetSelEnd(void);
	int __fastcall GetSelStart(void);
	void __fastcall SetSelEnd(const int Value);
	void __fastcall SetSelStart(const int Value);
	void __fastcall SetSelWord(void);
	void __fastcall ClearUndo(void);
	void __fastcall RefreshAllTokens(void);
	void __fastcall Print(Graphics::TFont* PrintFont, const TmwPrintOptions &Options);
	void __fastcall SaveStreamToClipboardFormat(const Word ClipboardFormat, Classes::TStream* Stream);
	void __fastcall SaveToFile(const AnsiString FileName);
	void __fastcall ExportToFile(const AnsiString FileName, const AnsiString ATitle, bool WithBackground
		, TmwEditExporter Format);
	void __fastcall ExportToClipboard(TmwEditExporter Format);
	void __fastcall CopyToClipboardEx(void);
	void __fastcall SetOptionFlag(TmwEditorOption Flag, bool Value);
	virtual void __fastcall ReadState(Classes::TReader* Reader);
	void __fastcall AddKey(Mwkeycmds::TmwEditorCommand Command, Word Key1, Classes::TShiftState SS1, Word 
		Key2, Classes::TShiftState SS2);
	int __fastcall SearchReplace(const AnsiString ASearch, const AnsiString AReplace, TmwSearchOptions 
		AOptions);
	__property Windows::TPoint BlockBegin = {read=GetBlockBegin, write=SetBlockBegin};
	__property Windows::TPoint BlockEnd = {read=GetBlockEnd, write=SetBlockEnd};
	__property bool CanPaste = {read=GetCanPaste, nodefault};
	__property bool CanRedo = {read=GetCanRedo, nodefault};
	__property bool CanUndo = {read=GetCanUndo, nodefault};
	__property int CaretX = {read=GetCaretX, write=SetCaretX, nodefault};
	__property int CaretY = {read=GetCaretY, write=SetCaretY, nodefault};
	__property Windows::TPoint CaretXY = {read=GetCaretXY, write=SetCaretXY};
	__property int CharsInWindow = {read=fCharsInWindow, nodefault};
	__property int CharWidth = {read=fCharWidth, nodefault};
	__property TmwEditExporters ClipboardFormats = {read=fClipboardFormats, write=fClipboardFormats, nodefault
		};
	__property int LeftChar = {read=GetLeftChar, write=SetLeftChar, nodefault};
	__property int LineHeight = {read=fTextHeight, nodefault};
	__property int LinesInWindow = {read=fLinesInWindow, nodefault};
	__property AnsiString LineText = {read=GetLineText, write=SetLineText};
	__property TMarkList* Marks = {read=fMarkList};
	__property int MaxLeftChar = {read=fMaxLeftChar, write=SetMaxLeftChar, nodefault};
	__property bool Modified = {read=fModified, write=fModified, nodefault};
	__property int PaintLock = {read=fPaintLock, nodefault};
	__property bool SelAvail = {read=GetSelAvail, nodefault};
	__property AnsiString SelText = {read=GetSelText, write=SetSelTextExternal};
	__property AnsiString Text = {read=GetText, write=SetText};
	__property int TopLine = {read=GetTopLine, write=SetTopLine, nodefault};
	
__published:
	__property Align ;
	__property Anchors ;
	__property Constraints ;
	__property Color ;
	__property Ctl3D ;
	__property Enabled ;
	__property Height ;
	__property Name ;
	__property ParentColor ;
	__property ParentCtl3D ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property PopupMenu ;
	__property ShowHint ;
	__property TabOrder ;
	__property TabStop ;
	__property Tag ;
	__property Visible ;
	__property Width ;
	__property Mwsupportclasses::TmwBookMarkOpt* BookMarkOptions = {read=fBookMarkOpt, write=fBookMarkOpt
		};
	__property Forms::TBorderStyle BorderStyle = {read=fBorderStyle, write=SetBorderStyle, default=1};
	__property int ExtraLineSpacing = {read=fExtraLineSpacing, write=SetExtraLineSpacing, default=0};
	__property Graphics::TFont* Font = {read=GetFont, write=SetFont};
	__property Mwsupportclasses::TmwGutter* Gutter = {read=fGutter, write=SetGutter};
	__property bool HideSelection = {read=fHideSelection, write=SetHideSelection, default=0};
	__property Mwhighlighter::TmwCustomHighLighter* HighLighter = {read=fHighLighter, write=SetHighlighter
		};
	__property TCaretType InsertCaret = {read=fInsertCaret, write=SetInsertCaret, default=0};
	__property bool InsertMode = {read=fInserting, write=SetInsertMode, default=1};
	__property Mwkeycmds::TmwKeyStrokes* Keystrokes = {read=fKeyStrokes, write=SetKeystrokes};
	__property int LineCount = {read=GetLineCount, nodefault};
	__property Classes::TStrings* Lines = {read=fLines, write=SetLines};
	__property int MaxUndo = {read=GetMaxUndo, write=SetMaxUndo, nodefault};
	__property TmwEditorOptions Options = {read=fOptions, write=SetOptions, default=243};
	__property TCaretType OverwriteCaret = {read=fOverwriteCaret, write=SetOverwriteCaret, default=3};
	__property bool ReadOnly = {read=fReadOnly, write=fReadOnly, nodefault};
	__property int RightEdge = {read=fRightEdge, write=SetRightEdge, default=80};
	__property Graphics::TColor RightEdgeColor = {read=fRightEdgeColor, write=SetRightEdgeColor, default=12632256
		};
	__property Stdctrls::TScrollStyle ScrollBars = {read=FScrollBars, write=SetScrollBars, default=3};
	__property Mwsupportclasses::TmwSelectedColor* SelectedColor = {read=fSelectedColor, write=fSelectedColor
		};
	__property TSelectionMode SelectionMode = {read=fSelectionMode, write=SetSelectionMode, default=0};
		
	__property int TabWidth = {read=fTabWidth, write=SetTabWidth, default=8};
	__property bool WantTabs = {read=fWantTabs, write=SetWantTabs, nodefault};
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDock ;
	__property OnEndDrag ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnStartDock ;
	__property OnStartDrag ;
	__property Classes::TNotifyEvent OnChange = {read=fOnChange, write=fOnChange};
	__property Classes::TNotifyEvent OnCommandDone = {read=fOnCommandDone, write=fOnCommandDone};
	__property TDropFilesEvent OnDropFiles = {read=fOnDropFiles, write=fOnDropFiles};
	__property TPaintEvent OnPaint = {read=fOnPaint, write=fOnPaint};
	__property TPlaceMarkEvent OnPlaceBookmark = {read=fOnPlaceMark, write=fOnPlaceMark};
	__property TPrintStatusEvent OnPrintStatus = {read=fOnPrintStatus, write=fOnPrintStatus};
	__property TProcessCommandEvent OnProcessCommand = {read=fOnProcessCommand, write=fOnProcessCommand
		};
	__property TProcessCommandEvent OnProcessUserCommand = {read=fOnProcessUserCommand, write=fOnProcessUserCommand
		};
	__property TReplaceTextEvent OnReplaceText = {read=fOnReplaceText, write=fOnReplaceText};
	__property Classes::TNotifyEvent OnSelectionChange = {read=fSelectionChange, write=fSelectionChange
		};
	__property TSpecialLineColorsEvent OnSpecialLineColors = {read=fOnSpecialLineColors, write=fOnSpecialLineColors
		};
	__property TStatusChangeEvent OnStatusChange = {read=fOnStatusChange, write=fOnStatusChange};
public:
		
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TmwCustomEdit(HWND ParentWindow) : Controls::TCustomControl(
		ParentWindow) { }
	#pragma option pop
	
};



class DELPHICLASS TmwEditList;
class PASCALIMPLEMENTATION TmwEditList : public Classes::TStringList 
{
	typedef Classes::TStringList inherited;
	
private:
	Classes::TNotifyEvent FOnAdded;
	Classes::TNotifyEvent fOnCleared;
	TIndexEvent FOnDeleted;
	TIndexEvent FOnInserted;
	Classes::TNotifyEvent FOnLoaded;
	TIndexEvent fOnPutted;
	Classes::TNotifyEvent fOnScanRanges;
	int nLoading;
	
protected:
	void __fastcall BeginLoading(void);
	void __fastcall EndLoading(void);
	virtual void __fastcall Put(int Index, const AnsiString S);
	
public:
	virtual int __fastcall Add(const AnsiString S);
	virtual void __fastcall AddStrings(Classes::TStrings* Strings);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual void __fastcall Clear(void);
	virtual void __fastcall Delete(int Index);
	virtual void __fastcall Insert(int Index, const AnsiString S);
	virtual void __fastcall SetTextStr(const AnsiString Value);
	virtual void __fastcall LoadFromStream(Classes::TStream* Stream);
	__property Classes::TNotifyEvent OnAdded = {read=FOnAdded, write=FOnAdded};
	__property Classes::TNotifyEvent OnCleared = {read=fOnCleared, write=fOnCleared};
	__property TIndexEvent OnDeleted = {read=FOnDeleted, write=FOnDeleted};
	__property TIndexEvent OnInserted = {read=FOnInserted, write=FOnInserted};
	__property Classes::TNotifyEvent OnLoaded = {read=FOnLoaded, write=FOnLoaded};
	__property TIndexEvent OnPutted = {read=fOnPutted, write=fOnPutted};
	__property Classes::TNotifyEvent OnScanRanges = {read=fOnScanRanges, write=fOnScanRanges};
public:
	#pragma option push -w-inl
	/* TStringList.Destroy */ inline __fastcall virtual ~TmwEditList(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TmwEditList(void) : Classes::TStringList() { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
#define DIGIT (System::Set<char, 0, 255> () << '\x30' << '\x31' << '\x32' << '\x33' << '\x34' << '\x35' \
	<< '\x36' << '\x37' << '\x38' << '\x39' )
#define ALPHA_UC (System::Set<char, 0, 255> () << '\x41' << '\x42' << '\x43' << '\x44' << '\x45' << '\x46' \
	<< '\x47' << '\x48' << '\x49' << '\x4a' << '\x4b' << '\x4c' << '\x4d' << '\x4e' << '\x4f' << '\x50' \
	<< '\x51' << '\x52' << '\x53' << '\x54' << '\x55' << '\x56' << '\x57' << '\x58' << '\x59' << '\x5a' \
	)
#define ALPHA_LC (System::Set<char, 0, 255> () << '\x61' << '\x62' << '\x63' << '\x64' << '\x65' << '\x66' \
	<< '\x67' << '\x68' << '\x69' << '\x6a' << '\x6b' << '\x6c' << '\x6d' << '\x6e' << '\x6f' << '\x70' \
	<< '\x71' << '\x72' << '\x73' << '\x74' << '\x75' << '\x76' << '\x77' << '\x78' << '\x79' << '\x7a' \
	)
#define WM_MOUSEWHEEL 0x20a;
#define MAX_SCROLL 0x7fff;
#define maxMarks 0x10;
#define MWEDIT_CLIPBOARD_FORMAT "mwEdit Control Block Type"
extern PACKAGE unsigned mwEditClipboardFormat;
#define MWEDIT_DEFAULT_OPTIONS (System::Set<TmwEditorOption, mweoAutoIndent, mweoSmartTabs> () )
extern PACKAGE void __fastcall Register(void);

}	/* namespace Mwcustomedit */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Mwcustomedit;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// mwCustomEdit

⌨️ 快捷键说明

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