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

📄 rm_jveditor.hpp

📁 这是一个功能强大
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Rm_jveditor.pas' rev: 11.00

#ifndef Rm_jveditorHPP
#define Rm_jveditorHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Rm_jveditorcommon.hpp>	// Pascal unit
#include <Rm_jvexcontrols.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit

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

namespace Rm_jveditor
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TJvEditorStrings;
class DELPHICLASS TJvCustomEditor;
typedef void __fastcall (__closure *TJvGetLineAttrEvent)(System::TObject* Sender, AnsiString &Line, int Index, Rm_jveditorcommon::TLineAttrs &Attrs);

typedef void __fastcall (__closure *TOnCompletionApply)(System::TObject* Sender, const AnsiString OldString, AnsiString &NewString);

class DELPHICLASS TJvCompletion;
class PASCALIMPLEMENTATION TJvCustomEditor : public Rm_jveditorcommon::TJvCustomEditorBase 
{
	typedef Rm_jveditorcommon::TJvCustomEditorBase inherited;
	
private:
	TJvEditorStrings* FLines;
	TJvGetLineAttrEvent FOnGetLineAttr;
	TOnCompletionApply FOnCompletionApply;
	MESSAGE void __fastcall WMGetText(Messages::TWMGetText &Msg);
	Classes::TStrings* __fastcall GetLines(void);
	void __fastcall SetLines(Classes::TStrings* ALines);
	TJvCompletion* __fastcall GetCompletion(void);
	void __fastcall SetCompletion(const TJvCompletion* Value);
	
protected:
	virtual int __fastcall GetLineCount(void);
	virtual int __fastcall GetLineLength(int Index);
	virtual int __fastcall FindNotBlankCharPosInLine(int Line);
	virtual bool __fastcall GetAnsiTextLine(int Y, /* out */ AnsiString &Text);
	virtual AnsiString __fastcall GetAnsiWordOnCaret();
	virtual void __fastcall ReLine(void);
	virtual int __fastcall GetTabStop(int X, int Y, bool Next);
	virtual int __fastcall GetBackStop(int X, int Y);
	virtual void __fastcall TextAllChangedInternal(bool Unselect);
	virtual void __fastcall PaintLineText(int Line, int ColBeg, int ColEnd, int &ColPainted);
	virtual void __fastcall InsertChar(const Word Value);
	void __fastcall SetLockText(const AnsiString Text);
	AnsiString __fastcall ExpandTabs(const AnsiString S);
	virtual int __fastcall GetAutoIndentStop(int Y);
	virtual void __fastcall GetLineAttr(AnsiString &Str, int Line, int ColBeg, int ColEnd);
	virtual bool __fastcall DoCommand(Word ACommand, int &X, int &Y, bool &CaretUndo);
	DYNAMIC void __fastcall TextModified(int ACaretX, int ACaretY, Rm_jveditorcommon::TModifiedAction Action, const AnsiString Text);
	
public:
	__fastcall virtual TJvCustomEditor(Classes::TComponent* AOwner);
	__fastcall virtual ~TJvCustomEditor(void);
	DYNAMIC void __fastcall ClipboardCopy(void);
	DYNAMIC void __fastcall ClipboardPaste(void);
	DYNAMIC void __fastcall DeleteSelected(void);
	void __fastcall Clear(void);
	AnsiString __fastcall GetSelText();
	void __fastcall SetSelText(const AnsiString AValue);
	AnsiString __fastcall GetWordOnCaret();
	virtual void __fastcall SelectWordOnCaret(void);
	void __fastcall InsertText(const AnsiString Text);
	void __fastcall InsertColumnText(int X, int Y, const AnsiString Text);
	void __fastcall ReplaceWord(const AnsiString NewString);
	void __fastcall ReplaceWord2(const AnsiString NewString);
	virtual void __fastcall IndentColumns(int X, int BegY, int EndY);
	virtual void __fastcall UnIndentColumns(int X, int BegY, int EndY);
	__property AnsiString SelText = {read=GetSelText, write=SetSelText};
	__property Classes::TStrings* Lines = {read=GetLines, write=SetLines};
	__property TJvCompletion* Completion = {read=GetCompletion, write=SetCompletion};
	__property TJvGetLineAttrEvent OnGetLineAttr = {read=FOnGetLineAttr, write=FOnGetLineAttr};
	__property TOnCompletionApply OnCompletionApply = {read=FOnCompletionApply, write=FOnCompletionApply};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TJvCustomEditor(HWND ParentWindow) : Rm_jveditorcommon::TJvCustomEditorBase(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TJvEditorStrings : public Classes::TStringList 
{
	typedef Classes::TStringList inherited;
	
private:
	TJvCustomEditor* FJvEditor;
	void __fastcall StringsChanged(System::TObject* Sender);
	void __fastcall SetInternal(int Index, const AnsiString Value);
	void __fastcall ReLine(void);
	void __fastcall SetLockText(const AnsiString Text);
	
protected:
	virtual void __fastcall Put(int Index, const AnsiString S);
	void __fastcall InternalPut(int Index, const AnsiString Value);
	__property AnsiString Internal[int Index] = {write=SetInternal};
	__property TJvCustomEditor* JvEditor = {read=FJvEditor};
	
public:
	__fastcall TJvEditorStrings(void);
	__fastcall virtual ~TJvEditorStrings(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual void __fastcall AddStrings(Classes::TStrings* Strings);
	virtual void __fastcall SetTextStr(const AnsiString Value);
	virtual int __fastcall Add(const AnsiString S);
	virtual void __fastcall Insert(int Index, const AnsiString S);
	virtual void __fastcall Delete(int Index);
	void __fastcall DeleteText(int BegX, int BegY, int EndX, int EndY);
	void __fastcall InsertText(int X, int Y, const AnsiString Text);
	void __fastcall DeleteColumnText(int BegX, int BegY, int EndX, int EndY);
	void __fastcall InsertColumnText(int X, int Y, const AnsiString Text);
};


class DELPHICLASS TJvEditor;
class PASCALIMPLEMENTATION TJvEditor : public TJvCustomEditor 
{
	typedef TJvCustomEditor inherited;
	
__published:
	__property BeepOnError  = {default=1};
	__property BorderStyle  = {default=1};
	__property Lines ;
	__property ScrollBars  = {default=3};
	__property GutterWidth ;
	__property GutterColor  = {default=-16777201};
	__property RightMarginVisible  = {default=1};
	__property RightMargin  = {default=80};
	__property RightMarginColor  = {default=-16777201};
	__property InsertMode  = {index=0, default=1};
	__property ReadOnly  = {index=1, default=0};
	__property DoubleClickLine  = {default=0};
	__property HideCaret  = {default=0};
	__property Completion ;
	__property TabStops ;
	__property SmartTab  = {default=1};
	__property BackSpaceUnindents  = {default=1};
	__property AutoIndent  = {default=1};
	__property KeepTrailingBlanks  = {default=0};
	__property CursorBeyondEOF  = {default=0};
	__property BracketHighlighting ;
	__property SelForeColor ;
	__property SelBackColor ;
	__property SelBlockFormat  = {default=3};
	__property OnGetLineAttr ;
	__property OnChangeStatus ;
	__property OnScroll ;
	__property OnResize ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnChange ;
	__property OnSelectionChange ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnDblClick ;
	__property OnPaintGutter ;
	__property OnGutterClick ;
	__property OnGutterDblClick ;
	__property OnCompletionIdentifier ;
	__property OnCompletionTemplate ;
	__property OnCompletionDrawItem ;
	__property OnCompletionMeasureItem ;
	__property OnCompletionApply ;
	__property OnLineInserted ;
	__property OnLineDeleted ;
	__property DragMode  = {default=0};
	__property DragKind  = {default=0};
	__property DragCursor  = {default=-12};
	__property OnDragOver ;
	__property OnDragDrop ;
	__property OnStartDock ;
	__property OnStartDrag ;
	__property OnEndDock ;
	__property OnEndDrag ;
	__property Align  = {default=0};
	__property Enabled  = {default=1};
	__property Color  = {default=-16777211};
	__property Font ;
	__property ParentColor  = {default=1};
	__property ParentFont  = {default=1};
	__property ParentShowHint  = {default=1};
	__property PopupMenu ;
	__property ShowHint ;
	__property TabStop  = {default=0};
	__property Visible  = {default=1};
	__property Anchors  = {default=3};
	__property AutoSize  = {default=0};
	__property BiDiMode ;
	__property Constraints ;
	__property UseDockManager  = {default=1};
	__property DockSite  = {default=0};
	__property ParentBiDiMode  = {default=1};
	__property OnCanResize ;
	__property OnConstrainedResize ;
	__property OnDockDrop ;
	__property OnDockOver ;
	__property OnGetSiteInfo ;
	__property OnUnDock ;
	__property OnEnter ;
	__property OnExit ;
public:
	#pragma option push -w-inl
	/* TJvCustomEditor.Create */ inline __fastcall virtual TJvEditor(Classes::TComponent* AOwner) : TJvCustomEditor(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TJvCustomEditor.Destroy */ inline __fastcall virtual ~TJvEditor(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TJvEditor(HWND ParentWindow) : TJvCustomEditor(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TJvCompletion : public Rm_jveditorcommon::TJvCompletionBase 
{
	typedef Rm_jveditorcommon::TJvCompletionBase inherited;
	
private:
	Classes::TStringList* FIdentifiers;
	Classes::TStringList* FTemplates;
	char FCaretChar;
	AnsiString FCRLF;
	AnsiString FSeparator;
	Classes::TStrings* __fastcall GetStrings(int Index);
	void __fastcall SetStrings(int Index, Classes::TStrings* AValue);
	void __fastcall ReplaceWord(const AnsiString NewString);
	
protected:
	virtual void __fastcall FindSelItem(bool &Eq);
	virtual void __fastcall MakeItems(void);
	virtual void __fastcall ReplaceWordItemIndex(int SubStrStart);
	virtual int __fastcall GetTemplateCount(void);
	virtual int __fastcall GetIdentifierCount(void);
	virtual AnsiString __fastcall GetAnsiSeparator();
	
public:
	__fastcall TJvCompletion(TJvCustomEditor* AJvEditor);
	__fastcall virtual ~TJvCompletion(void);
	
__published:
	__property Classes::TStrings* Identifiers = {read=GetStrings, write=SetStrings, index=0};
	__property Classes::TStrings* Templates = {read=GetStrings, write=SetStrings, index=1};
	__property char CaretChar = {read=FCaretChar, write=FCaretChar, nodefault};
	__property AnsiString CRLF = {read=FCRLF, write=FCRLF};
	__property AnsiString Separator = {read=FSeparator, write=FSeparator};
};


class DELPHICLASS TJvInsertUndo;
class PASCALIMPLEMENTATION TJvInsertUndo : public Rm_jveditorcommon::TJvCaretUndo 
{
	typedef Rm_jveditorcommon::TJvCaretUndo inherited;
	
private:
	AnsiString FText;

⌨️ 快捷键说明

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