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

📄 fcdbtreeview.hpp

📁 一套及时通讯的原码
💻 HPP
📖 第 1 页 / 共 2 页
字号:
	bool __fastcall ValidMultiSelectLevel(int ALevel);
	virtual int __fastcall FindCurrentMultiSelectIndex(Db::TDataSet* DataSet);
	virtual void __fastcall Loaded(void);
	virtual void __fastcall FreeHintWindow(void);
	virtual Controls::THintWindow* __fastcall CreateHintWindow(void);
	virtual void __fastcall Change(TfcDBTreeNode* FSelected);
	void __fastcall SaveIfFirstRecordBookmark(Db::TDataSet* DataSet);
	void __fastcall FreeFirstBookmark(void);
	bool __fastcall HaveValidDataLinks(void);
	bool __fastcall IsChildDataSetOfActive(Db::TDataSet* DataSet);
	bool __fastcall IsMasterDataSetOfActive(Db::TDataSet* DataSet);
	void __fastcall ToggleMultiSelection(bool RequireControlKey, Classes::TShiftState Shift);
	virtual void __fastcall MouseLoop(int X, int Y);
	bool __fastcall UpdateDataLinkToActive(TfcDBTreeNode* Node);
	virtual void __fastcall PriorRow(bool WithinLevel);
	virtual void __fastcall NextRow(bool WithinLevel);
	virtual void __fastcall PriorPage(bool WithinLevel);
	virtual void __fastcall NextPage(bool WithinLevel);
	virtual Types::TRect __fastcall GetClientRect();
	virtual void __fastcall VScroll(int ScrollCode, int Position);
	virtual void __fastcall HScroll(int ScrollCode, int Position);
	virtual Fcshapebtn::TfcShapeBtn* __fastcall CreateUpTreeButton(void);
	virtual Fcshapebtn::TfcShapeBtn* __fastcall CreateDownTreeButton(void);
	virtual void __fastcall DoDrawText(TfcDBCustomTreeView* TreeView, TfcDBTreeNode* Node, const Types::TRect &ARect, bool &DefaultDrawing);
	virtual void __fastcall WndProc(Messages::TMessage &Message);
	void __fastcall FreeOldNodes(void);
	virtual void __fastcall DoUserExpand(TfcDBTreeNode* Node);
	virtual void __fastcall DoUserCollapse(TfcDBTreeNode* Node);
	virtual void __fastcall SetActiveDataSet(Db::TDataSet* DataSet);
	virtual void __fastcall SetLastVisibleDataSet(Db::TDataSet* DataSet);
	TfcTreeDataLink* __fastcall GetDataLink(Db::TDataSet* Dataset);
	int __fastcall GetDataLinkIndex(Db::TDataSet* Dataset);
	
public:
	Variant Patch;
	virtual void __fastcall LayoutChanged(void);
	void __fastcall FreeLastActiveBookmark(void);
	void __fastcall FreeRootBookmark(void);
	__fastcall virtual TfcDBCustomTreeView(Classes::TComponent* AOwner);
	__fastcall virtual ~TfcDBCustomTreeView(void);
	void __fastcall MoveTo(TfcDBTreeNode* Node);
	TfcTreeHitTests __fastcall GetHitTestInfoAt(int X, int Y);
	virtual void __fastcall UnselectAll(void);
	virtual void __fastcall SelectAll(Db::TDataSet* ADataSet);
	virtual void __fastcall SelectRecord(void);
	virtual void __fastcall UnselectRecord(void);
	bool __fastcall IsSelectedRecord(void);
	void __fastcall InvalidateNode(TfcDBTreeNode* Node);
	void __fastcall InvalidateRow(int Row);
	virtual void __fastcall InvalidateClient(void);
	virtual void __fastcall Expand(TfcDBTreeNode* Node);
	virtual void __fastcall Collapse(TfcDBTreeNode* Node);
	void __fastcall MakeActiveDataSet(Db::TDataSet* DataSet, bool Collapse);
	TfcDBTreeNode* __fastcall GetNodeAt(int X, int Y);
	void __fastcall SortMultiSelectList(void);
	__property TfcDBTreeNode* ActiveNode = {read=FActiveNode};
	__property Fccanvas::TfcCanvas* Canvas = {read=FPaintCanvas};
	__property TfcMultiSelectItem* MultiSelectList[int Index] = {read=GetMultiSelectItem};
	__property int MultiSelectListCount = {read=GetMultiSelectListCount, nodefault};
	__property Db::TDataSet* ActiveDataSet = {read=FActiveDataSet, write=SetActiveDataSet};
	__property Db::TDataSet* LastVisibleDataSet = {read=FLastVisibleDataset, write=SetLastVisibleDataSet};
	__property int LevelIndent = {read=FLevelIndent, write=SetLevelIndent, nodefault};
	__property Graphics::TColor LineColor = {read=FLineColor, write=SetLineColor, default=-2147483632};
	__property Graphics::TColor InactiveFocusColor = {read=FInactiveFocusColor, write=SetInactiveFocusColor, default=-2147483633};
	__property ParentColor ;
	__property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, nodefault};
	__property Db::TDataSource* DataSourceFirst = {read=GetDataSource, write=SetDataSource};
	__property Db::TDataSource* DataSourceLast = {read=GetLastDataSource, write=SetLastDataSource};
	__property AnsiString DataSources = {read=FDataSourcesMiddle, write=SetDataSources};
	__property TfcDBTreeViewOptions Options = {read=FOptions, write=SetOptions, default=2018};
	__property Classes::TStrings* DisplayFields = {read=FDisplayFields, write=SetDisplayFields};
	__property Imglist::TCustomImageList* Images = {read=FImages, write=SetImages};
	__property Fcimager::TfcCustomImager* Imager = {read=FImager, write=SetImager};
	__property Imglist::TCustomImageList* StateImages = {read=FStateImages, write=SetStateImages};
	__property TfcDBMultiSelectAttributes* MultiSelectAttributes = {read=FMultiSelectAttributes, write=FMultiSelectAttributes};
	__property TfcDBTreeEvent OnCalcNodeAttributes = {read=FOnCalcNodeAttributes, write=FOnCalcNodeAttributes};
	__property TfcDBTreeSectionEvent OnCalcSectionAttributes = {read=FOnCalcSectionAttributes, write=FOnCalcSectionAttributes};
	__property TfcDBTreeDrawSectionEvent OnDrawSection = {read=FOnDrawSection, write=FOnDrawSection};
	__property TfcDBTreeEvent OnChange = {read=FOnChange, write=FOnChange};
	__property TfcDBTreeEvent OnUserCollapse = {read=FOnUserCollapse, write=FOnUserCollapse};
	__property TfcDBTreeEvent OnUserExpand = {read=FOnUserExpand, write=FOnUserExpand};
	__property TfcDBTreeMouseEvent OnDblClick = {read=FOnDblClick, write=FOnDblClick};
	__property TfcDBTreeMouseEvent OnMouseDown = {read=FOnMouseDown, write=FOnMouseDown};
	__property TfcDBTreeMouseMoveEvent OnMouseMove = {read=FOnMouseMove, write=FOnMouseMove};
	__property TfcDBTreeMouseEvent OnMouseUp = {read=FOnMouseUp, write=FOnMouseUp};
	__property TfcDBTreeDrawTextEvent OnDrawText = {read=FOnDrawText, write=FOnDrawText};
	__property Fctreeheader::TfcTreeHeader* Header = {read=FHeader, write=SetHeader};
	__property bool HideUpDownButtons = {read=FHideUpDownButtons, write=SetHideUpDownButtons, default=0};
	__property bool DisableThemes = {read=FDisableThemes, write=FDisableThemes, default=0};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TfcDBCustomTreeView(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TfcTreeDataLink : public Db::TDataLink 
{
	typedef Db::TDataLink inherited;
	
private:
	TfcDBCustomTreeView* FTree;
	
protected:
	virtual void __fastcall DataSetChanged(void);
	virtual void __fastcall DataSetScrolled(int Distance);
	virtual void __fastcall ActiveChanged(void);
	virtual void __fastcall RecordChanged(Db::TField* Field);
	
public:
	__fastcall TfcTreeDataLink(TfcDBCustomTreeView* ATree);
	__fastcall virtual ~TfcTreeDataLink(void);
};


class PASCALIMPLEMENTATION TfcMultiSelectItem : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	void *Bookmark;
	Db::TDataSet* DataSet;
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TfcMultiSelectItem(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TfcMultiSelectItem(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TfcDBTreeNode : public System::TObject 
{
	typedef System::TObject inherited;
	
protected:
	bool HasPrevSibling;
	bool HasNextSibling;
	
public:
	int ActiveRecord;
	TfcTreeDataLink* DataLink;
	AnsiString Text;
	int Level;
	Db::TDataSet* DataSet;
	Db::TField* Field;
	bool Expanded;
	bool HasChildren;
	TfcDBTreeNode* Parent;
	int ImageIndex;
	int StateIndex;
	bool Selected;
	bool Hot;
	bool MultiSelected;
	Variant __fastcall GetFieldValue(AnsiString FieldName);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TfcDBTreeNode(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TfcDBTreeNode(void) { }
	#pragma option pop
	
};


class DELPHICLASS TfcDBTreeView;
class PASCALIMPLEMENTATION TfcDBTreeView : public TfcDBCustomTreeView 
{
	typedef TfcDBCustomTreeView inherited;
	
__published:
	__property DisableThemes ;
	__property Align ;
	__property BorderStyle ;
	__property Color ;
	__property DragCursor ;
	__property DragMode ;
	__property Enabled ;
	__property Font ;
	__property ParentColor ;
	__property ParentFont ;
	__property ParentShowHint ;
	__property TabStop ;
	__property TabOrder ;
	__property Visible ;
	__property Header ;
	__property Anchors ;
	__property BiDiMode ;
	__property Constraints ;
	__property ParentBiDiMode ;
	__property DataSourceFirst ;
	__property DataSourceLast ;
	__property DataSources ;
	__property DisplayFields ;
	__property Imager ;
	__property InactiveFocusColor ;
	__property LineColor ;
	__property Options ;
	__property OnStartDock ;
	__property OnEndDock ;
	__property LevelIndent ;
	__property Images ;
	__property StateImages ;
	__property MultiSelectAttributes ;
	__property PopupMenu ;
	__property HideUpDownButtons ;
	__property OnCalcNodeAttributes ;
	__property OnCalcSectionAttributes ;
	__property OnDrawSection ;
	__property OnChange ;
	__property OnUserCollapse ;
	__property OnUserExpand ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyUp ;
	__property OnKeyPress ;
	__property OnDblClick ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnStartDrag ;
	__property OnDrawText ;
public:
	#pragma option push -w-inl
	/* TfcDBCustomTreeView.Create */ inline __fastcall virtual TfcDBTreeView(Classes::TComponent* AOwner) : TfcDBCustomTreeView(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TfcDBCustomTreeView.Destroy */ inline __fastcall virtual ~TfcDBTreeView(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TfcDBTreeView(HWND ParentWindow) : TfcDBCustomTreeView(ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

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

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

⌨️ 快捷键说明

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