📄 advoutlooklist.hpp
字号:
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 + -