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

📄 advoutlooklist.hpp

📁 TMS component pack v4.2 for delphi
💻 HPP
📖 第 1 页 / 共 4 页
字号:
public:
	__fastcall TLookUpSettings(void);
	__fastcall virtual ~TLookUpSettings(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	
__published:
	__property int Column = {read=FColumn, write=SetColumn, default=-1};
	__property TLookUpMethod Method = {read=FMethod, write=SetMethod, nodefault};
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
};


class DELPHICLASS TOutlookGroup;
class PASCALIMPLEMENTATION TAdvOutlookList : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	TAdvOutlookColumns* FColumns;
	Forms::TFormBorderStyle FBorderStyle;
	Outlookgroupedlist::TOutlookGroupedList* FList;
	TAdvOutLookHeader* FHeader;
	Graphics::TColor FColumnLineColor;
	TURLSettings* FURLSettings;
	Controls::TImageList* FImages;
	TDrawItemEvent FOnDrawItem;
	TDrawItemPropEvent FOnDrawItemProp;
	TDrawItemValueEvent FOnDrawItemValue;
	TCheckBoxStyle FCheckBoxStyle;
	TProgressAppearance* FProgressAppearance;
	TURLClickEvent FOnURLClick;
	TPreviewSetting* FPreviewSettings;
	Graphics::TColor FHeaderBorderColor;
	Graphics::TColor FBorderColor;
	TAOLItemClickEvent FOnItemRightClick;
	TAOLItemClickEvent FOnItemClick;
	TAOLItemEvent FOnItemDblClick;
	TAOLItemEvent FOnGroupClick;
	TAOLItemEvent FOnGroupRightClick;
	TAOLHeaderClickEvent FOnHeaderRightClick;
	TAOLHeaderClickEvent FOnHeaderClick;
	TAOLHeaderClickEvent FOnHeaderDblClick;
	TSortSettings* FSortSettings;
	bool FSorting;
	bool FEllipsis;
	Picturecontainer::THTMLPictureCache* FImageCache;
	Picturecontainer::TPictureContainer* FContainer;
	int FHoverHyperLink;
	int FOldHoverHyperLink;
	int FShadowOffset;
	bool FHover;
	Graphics::TColor FHoverColor;
	Graphics::TColor FHoverFontColor;
	Graphics::TColor FShadowColor;
	AnsiString FAnchor;
	TAnchorClick FAnchorExit;
	TAnchorClick FAnchorClick;
	TAnchorClick FAnchorEnter;
	#pragma pack(push,1)
	Types::TRect FCurrHoverRect;
	#pragma pack(pop)
	int FGroupColumn;
	int FCurrentGroupColumn;
	Graphics::TColor FColor;
	TCheckBoxClickEvent FOnCheckBoxClick;
	TDragDropSetting FHeaderDragDrop;
	TDragDropSetting FDragDropSetting;
	TOnHeaderDragDropEvent FOnHeaderDragDrop;
	THeaderResizedEvent FOnHeaderResized;
	int FMouseOverCol;
	int FItemHeight;
	int FPreviewedColumn;
	TAOLDragAllowedEvent FOnOLEDragAllowed;
	TAOLDragOverEvent FOnOLEDragOver;
	TAOLDropEvent FOnOLEDrop;
	TAOLGetClipboardFormatsEvent FOnOLEGetClipboardFormats;
	TAOLGetDataEvent FOnOLEGetData;
	TAOLGetCaptionEvent FOnGetCaption;
	Outlookgroupedlist::TDragDropMode FDragDropMode;
	Classes::TStringList* FDragFileList;
	TOLEItemData FOnOLEGetItemData;
	TOLEItemData FOnOLEItemDrop;
	int FGroupItemHeight;
	TOnCustomCompareEvent FOnCustomCompare;
	TAOLItemEvent FOnGroupDblClick;
	bool FGroupShowCount;
	Classes::TNotifyEvent FOnSelectionChange;
	TOnSortedEvent FOnSorted;
	bool FHideSelection;
	TLookUpSettings* FLookUp;
	AnsiString FLookUpText;
	TGroupColumnDisplay FGroupColumnDisplay;
	Outlookgroupedlist::TOGLDragType FDragType;
	Outlookgroupedlist::TOGLSelectionOptions FSelectionOptions;
	bool FHeaderResize;
	HIDESBASE MESSAGE void __fastcall WMEraseBkGnd(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
	void __fastcall OnPreviewSettingChange(System::TObject* Sender);
	void __fastcall OnProgressAppearanceChange(System::TObject* Sender);
	void __fastcall OnURLSettingsChange(System::TObject* Sender);
	void __fastcall OnHeaderSized(System::TObject* Sender, int ColIdx, int ColWidth);
	void __fastcall OnListMouseMove(System::TObject* Sender, Classes::TShiftState Shift, int X, int Y);
	void __fastcall OnListMouseDownOnItem(Outlookgroupedlist::TOutlookGroupedList* Sender, Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y, const Outlookgroupedlist::TOGLItemHitInfo &HitInfo);
	void __fastcall OnListMouseUpOnItem(Outlookgroupedlist::TOutlookGroupedList* Sender, Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y, const Outlookgroupedlist::TOGLItemHitInfo &HitInfo);
	void __fastcall OnListItemDblClick(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item);
	void __fastcall OnListKeyDown(System::TObject* Sender, Word &Key, Classes::TShiftState Shift);
	void __fastcall OnListKeyUp(System::TObject* Sender, Word &Key, Classes::TShiftState Shift);
	void __fastcall OnListKeyPress(System::TObject* Sender, char &Key);
	void __fastcall OnListCompareItems(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item1, Outlookgroupedlist::POGLItem Item2, Outlookgroupedlist::TOGLSortColumn Column, int &Result);
	void __fastcall OnListGetHint(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item, AnsiString &HintText);
	void __fastcall OnListGetGroupImageIndex(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item, int &ImageIndex);
	void __fastcall OnListSelectionChange(System::TObject* Sender);
	void __fastcall OnListOLEDragAllowed(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item, bool &Allowed);
	void __fastcall OnListOLEDragOver(Outlookgroupedlist::TOutlookGroupedList* Sender, const _di_IDataObject DataObject, Classes::TShiftState Shift, const Types::TPoint &Pt, Controls::TDragState State, int &Effect, bool &Accept);
	void __fastcall OnListOLEDrop(Outlookgroupedlist::TOutlookGroupedList* Sender, const _di_IDataObject DataObject, Classes::TShiftState Shift, const Types::TPoint &Pt, Outlookgroupedlist::TClipFormatArray Formats, int &Effect);
	void __fastcall OnListOLEGetData(Outlookgroupedlist::TOutlookGroupedList* Sender, const tagFORMATETC &FormatEtcIn, /* out */ tagSTGMEDIUM &Medium, HRESULT &Result);
	void __fastcall OnListOLEGetClipboardFormats(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::TFormatEtcArray &Formats);
	void __fastcall OnListDragOver(System::TObject* Sender, System::TObject* Source, int X, int Y, Controls::TDragState State, bool &Accept);
	void __fastcall OnListDragDrop(System::TObject* Sender, System::TObject* Source, int X, int Y);
	void __fastcall OnColumnRefresh(System::TObject* Sender);
	void __fastcall OnHeaderSectClick(System::TObject* Sender, int SectionIndex);
	void __fastcall OnHeaderSectRightClick(System::TObject* Sender, int SectionIndex);
	void __fastcall OnHeaderSectDblClick(System::TObject* Sender, int SectionIndex);
	void __fastcall OnSortChange(System::TObject* Sender);
	void __fastcall SetBorderStyle(const Forms::TBorderStyle Value);
	void __fastcall FreeItem(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item);
	void __fastcall DrawItem(Outlookgroupedlist::TOutlookGroupedList* Sender, Graphics::TCanvas* ItemCanvas, const Types::TRect &ItemRect, Outlookgroupedlist::POGLItem Item);
	void __fastcall GetCaption(Outlookgroupedlist::TOutlookGroupedList* Sender, Outlookgroupedlist::POGLItem Item, AnsiString &Caption);
	void __fastcall GetItemHeight(Outlookgroupedlist::TOutlookGroupedList* Sender, const Graphics::TCanvas* OGLCanvas, Word &ItemHeight);
	void __fastcall SetColumnLineColor(const Graphics::TColor Value);
	void __fastcall SetURLSettings(const TURLSettings* Value);
	void __fastcall SetImages(const Controls::TImageList* Value);
	void __fastcall SetCheckBoxStyle(const TCheckBoxStyle Value);
	void __fastcall SetProgressAppearance(const TProgressAppearance* Value);
	void __fastcall SetPreviewSettings(const TPreviewSetting* Value);
	void __fastcall SetHeaderBorderColor(const Graphics::TColor Value);
	void __fastcall SetHeaderHeight(const int Value);
	void __fastcall SetItemHeight(const int Value);
	int __fastcall GetHeaderHeight(void);
	void __fastcall SetBorderColor(const Graphics::TColor Value);
	void __fastcall SetSortSettings(const TSortSettings* Value);
	void __fastcall SetEllipsis(const bool Value);
	void __fastcall SetShadowOffset(const int Value);
	void __fastcall SetHover(const bool Value);
	void __fastcall SetHoverColor(const Graphics::TColor Value);
	void __fastcall SetHoverFontColor(const Graphics::TColor Value);
	void __fastcall SetShadowColor(const Graphics::TColor Value);
	void __fastcall SetGroupColumn(const int Value);
	AnsiString __fastcall GetVersion();
	void __fastcall SetVersion(const AnsiString Value);
	HIDESBASE void __fastcall SetColor(const Graphics::TColor Value);
	void __fastcall SetHeaderDragDrop(const TDragDropSetting Value);
	void __fastcall SetHeaderResize(const bool Value);
	void __fastcall SetDragDropSetting(const TDragDropSetting Value);
	Outlookgroupedlist::POGLItem __fastcall GetDropTargetGroup(void);
	Outlookgroupedlist::POGLItem __fastcall GetFocusedItem(void);
	void __fastcall SetFocusedItem(const Outlookgroupedlist::POGLItem Value);
	Outlookgroupedlist::POGLItem __fastcall GetRootItem(void);
	void __fastcall SetDragDropMode(const Outlookgroupedlist::TDragDropMode Value);
	TOutlookGroup* __fastcall GetGroup(int Index);
	int __fastcall GetGroupCount(void);
	void __fastcall SetGroupItemHeight(const int Value);
	bool __fastcall GetShowNodes(void);
	void __fastcall SetShowNodes(const bool Value);
	Outlookgroupedlist::POGLItem __fastcall GetFirstGroupItem(void);
	Outlookgroupedlist::POGLItem __fastcall GetFirstSelectedItem(void);
	int __fastcall GetSelectedCount(void);
	void __fastcall SetGroupShowCount(const bool Value);
	void __fastcall SetHideSelection(const bool Value);
	void __fastcall SetLookUp(const TLookUpSettings* Value);
	void __fastcall SetGroupColumnDisplay(const TGroupColumnDisplay Value);
	void __fastcall SetDragType(const Outlookgroupedlist::TOGLDragType Value);
	void __fastcall SetSelectionOptions(const Outlookgroupedlist::TOGLSelectionOptions Value);
	
protected:
	void __fastcall HeaderChanged(System::TObject* Sender);
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall Paint(void);
	virtual void __fastcall Loaded(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation AOperation);
	virtual bool __fastcall HTMLPaint(Graphics::TCanvas* Canvas, AnsiString s, const Types::TRect &fr, Controls::TImageList* FImages, int xpos, int ypos, int focuslink, int hoverlink, int shadowoffset, bool checkhotspot, bool checkheight, bool print, bool selected, bool blink, bool hoverstyle, double resfactor, Graphics::TColor urlcolor, Graphics::TColor hovercolor, Graphics::TColor hoverfontColor, Graphics::TColor shadowcolor, AnsiString &anchorval, AnsiString &stripval, AnsiString &focusanchor, int &xsize, int &ysize, int &hyperlinks, int &mouselink, Types::TRect &hoverrect);
	AnsiString __fastcall IsAnchor(int x, int y, int Col, const Types::TRect &CellRect, AnsiString CellValue, Types::TRect &HoverRect);
	void __fastcall SortItems(void);
	void __fastcall ToggleCheck(Outlookgroupedlist::POGLItem Item, int ColIndex);
	TAdvOutlookColumn* __fastcall ColAtPoint(const Types::TRect &ItemRect, int X, int Y, Types::TRect &ColRect);
	Types::TRect __fastcall GetCellRect(const Types::TRect &ItemRect, int ColIndex);
	bool __fastcall PtOnItemText(Outlookgroupedlist::POGLItem Item, int ColIndex, const Types::TRect &ColRect, const Types::TPoint &P);
	int __fastcall MapHeaderSecToCol(int SectionIndex);
	int __fastcall MapColToHeaderSec(int ColIndex);
	void __fastcall MoveHeaderSec(int FromIndex, int ToIndex);
	bool __fastcall IsGroupColumn(int ColIndex);
	bool __fastcall IsPreviewColumn(int ColIndex);
	int __fastcall GetHeaderSecIndex(int ColIndex);
	void __fastcall UpdateHeaderSecIndexes(void);
	void __fastcall SetGrouping(void);
	int __fastcall MapColumn(int Column);
	void __fastcall Locate(AnsiString s, int Col);
	__property bool Ellipsis = {read=FEllipsis, write=SetEllipsis, nodefault};
	__property int ShadowOffset = {read=FShadowOffset, write=SetShadowOffset, nodefault};
	__property bool Hover = {read=FHover, write=SetHover, nodefault};
	__property Graphics::TColor HoverColor = {read=FHoverColor, write=SetHoverColor, nodefault};
	__property Graphics::TColor HoverFontColor = {read=FHoverFontColor, write=SetHoverFontColor, nodefault};
	__property Graphics::TColor ShadowColor = {read=FShadowColor, write=SetShadowColor, nodefault};
	__property Picturecontainer::THTMLPictureCache* ImageCache = {read=FImageCache};
	
public:
	__fastcall virtual TAdvOutlookList(Classes::TComponent* AOwner);
	__fastcall virtual ~TAdvOutlookList(void);
	void __fastcall BeginUpdate(void);
	void __fastcall EndUpdate(void);
	virtual void __fastcall SetFocus(void);
	TOutlookGroup* __fastcall AddGroup(AnsiString Caption);
	Classes::TStrings* __fastcall AddItem(TOutlookGroup* Group)/* overload */;
	Outlookgroupedlist::POGLItem __fastcall AddItem(Outlookgroupedlist::POGLItem ParentItem = (void *)(0x0))/* overload */;
	void __fastcall DeleteItem(Outlookgroupedlist::POGLItem Item, bool Reindex = true);
	void __fastcall DeleteSelectedItems(bool ReIndex = false);
	void __fastcall DeleteGroup(int Index);
	void __fastcall DeleteAllGroups(void);
	__property TOutlookGroup* Groups[int Index] = {read=GetGroup};
	int __fastcall GroupIndex(TOutlookGroup* Group);
	void __fastcall ClearGroups(void);
	int __fastcall ColumnIndex(int Column);
	__property int GroupColumn = {read=FGroupColumn, write=SetGroupColumn, default=0};
	__property int GroupCount = {read=GetGroupCount, nodefault};
	TOutlookGroup* __fastcall ItemGroup(Outlookgroupedlist::POGLItem Item);
	int __fastcall GetVersionNr(void);
	void __fastcall Sort(void);
	void __fastcall SelectAll(void);
	void __fastcall SelectItem(Outlookgroupedlist::POGLItem Item);
	void __fastcall UnSelectItem(Outlookgroupedlist::POGLItem Item);
	void __fastcall UnselectAll(void);
	bool __fastcall ExpandAll(void);
	bool __fastcall CollapseAll(void);
	bool __fastcall IsItemSelected(Outlookgroupedlist::POGLItem Item);
	bool __fastcall IsGroupItem(Outlookgroupedlist::POGLItem Item);
	bool __fastcall ScrollIntoView(Outlookgroupedlist::POGLItem Item, bool AutoScrollOnExpand = false);
	Classes::TStrings* __fastcall GetItemData(Outlookgroupedlist::POGLItem Item)/* overload */;
	Outlookgroupedlist::POGLItem __fastcall CaptionToItem(AnsiString ACaption, const Outlookgroupedlist::POGLItem GroupItem = (void *)(0x0));
	__property Outlookgroupedlist::POGLItem DropTargetGroup = {read=GetDropTargetGroup};
	__property Outlookgroupedlist::POGLItem FocusedItem = {read=GetFocusedItem, write=SetFocusedItem};
	__property Outlookgroupedlist::POGLItem RootItem = {read=GetRootItem};
	__property Outlookgroupedlist::POGLItem FirstGroupItem = {read=GetFirstGroupItem};
	__property Outlookgroupedlist::POGLItem FirstSelectedItem = {read=GetFirstSelectedItem};
	__property int SelectedCount = {read=GetSelectedCount, nodefault};
	Outlookgroupedlist::POGLItem __fastcall NextSelectedItem(Outlookgroupedlist::POGLItem Item);
	Outlookgroupedlist::POGLItem __fastcall ItemAtXY(int X, int Y);
	TOutlookGroup* __fastcall GroupAtXY(int X, int Y);
	void __fastcall SetStyle(TAdvOutlookListStyle AStyle);
	void __fastcall SetComponentStyle(Advstyleif::TTMSStyle AStyle);

⌨️ 快捷键说明

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