📄 outlookgroupedlist.hpp
字号:
#pragma pack(push,1)
Types::TRect FLastHintRect;
#pragma pack(pop)
#pragma pack(push,1)
TOGLItemHitInfo FLastHintHitInfo;
#pragma pack(pop)
Classes::TList* FSelection;
#pragma pack(push,1)
Types::TPoint FFromSelPoint;
#pragma pack(pop)
#pragma pack(push,1)
Types::TPoint FToSelPoint;
#pragma pack(pop)
TOGLDrawSelectionMode FDrawSelectionMode;
Byte FThumbnailCaptionHeight;
Word FItemsPerRow;
Classes::TShiftState FDrawSelShiftState;
Byte FGroupItemExpandButtonVertOffset;
Word FGroupItemHeight;
Word FChildItemHeight;
Graphics::TBitmap* FBmpPlus;
Graphics::TBitmap* FBmpMinus;
Graphics::TBitmap* FBmpCanvas;
_di_IOGLDragEngine FDragEngine;
bool FOLEDragEnterAccept;
TOGLItem *FDropTargetGroup;
TOGLDragType FDragType;
TOGLDragOptions FDragOptions;
Word FDragImageWidth;
Word FDragImageHeight;
TOGLDragOperations FDragOperations;
int FDragThreshold;
TOGLItemEvent FOnInitItem;
TOGLItemEvent FOnFreeItem;
TOGLDrawItemEvent FOnDrawItem;
TOGLDrawHintEvent FOnDrawHint;
TOGLGetCaptionEvent FOnGetCaption;
TOGLGetHintEvent FOnGetHint;
TOGLGetHintSizeEvent FOnGetHintSize;
TOGLGetImageIndexEvent FOnGetGroupImageIndex;
TOGLItemEvent FOnItemDblClick;
TOGLGetChildItemHeightEvent FOnGetChildItemHeight;
TOGLCompareItemsEvent FOnCompareItems;
TOGLSearchItemEvent FOnSearchItem;
TOGLGetDataObjectEvent FOnOLEGetDataObject;
TOGLDragOverEvent FOnOLEDragOver;
TOGLDropEvent FOnOLEDrop;
TOGLGetDataEvent FOnOLEGetData;
TOGLGetClipboardFormatsEvent FOnOLEGetClipboardFormats;
TOGLDragAllowedEvent FOnOLEDragAllowed;
TOGLMouseButtonEvent FOnMouseDownOnItem;
TOGLMouseButtonEvent FOnMouseUpOnItem;
bool FDoNotClearItems;
bool FConsiderColHint;
TDragDropMode FDragDropMode;
bool FShowNodes;
bool FGroupShowCount;
Classes::TNotifyEvent FOnSelectionChange;
bool FHideSelection;
POGLItem __fastcall GetFirstGroupItem(void);
POGLItem __fastcall GetFirstSelectedItem(void);
int __fastcall GetSelectedCount(void);
void __fastcall SetImages(const Imglist::TCustomImageList* Value);
void __fastcall SetBorderStyle(const Forms::TBorderStyle Value);
void __fastcall SetUpdateState(const bool Updating);
void __fastcall SetSortColumn(TOGLSortColumn Value);
void __fastcall SetSortDirection(const TOGLSortDirection Value);
void __fastcall SetViewStyle(const TOGLViewStyle Value);
_di_IOGLDragEngine __fastcall GetDragEngine();
virtual void __fastcall GetOLEClipboardFormats(TFormatEtcArray &Formats);
virtual int __fastcall GetDropEffect(const Classes::TShiftState Shift, const int AllowedEffect);
void __fastcall SetDragOptions(const TOGLDragOptions Value);
void __fastcall SetDropTargetGroup(const POGLItem GroupItem);
void __fastcall SetFocusedItem(POGLItem Item);
void __fastcall FontOnChange(System::TObject* Sender);
void __fastcall ImagesOnChange(System::TObject* Sender);
void __fastcall InitRootItem(void);
void __fastcall RenderDragImage(const Types::TPoint &HotSpot, const _di_IDataObject DataObject);
int __fastcall DoCompare(POGLItem Item1, POGLItem Item2, TOGLSortColumn Column);
void __fastcall DoHotCharSearch(Word CharCode);
MESSAGE void __fastcall WMMouseHover(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall WMMouseWheel(Controls::TCMMouseWheel &Message);
HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
HIDESBASE MESSAGE void __fastcall WMMouseMove(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall WMNCDestroy(Messages::TWMNoParams &Message);
HIDESBASE MESSAGE void __fastcall WMChar(Messages::TWMKey &Message);
HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall WMRButtonDown(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall WMRButtonUp(Messages::TWMMouse &Message);
HIDESBASE MESSAGE void __fastcall CMHintShow(Forms::TCMHintShow &Message);
HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
HIDESBASE MESSAGE void __fastcall CNKeyDown(Messages::TWMKey &Message);
void __fastcall SetDragDropMode(const TDragDropMode Value);
void __fastcall SetShowNodes(const bool Value);
void __fastcall SetGroupShowCount(const bool Value);
protected:
virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
virtual void __fastcall CreateWnd(void);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
virtual void __fastcall AdjustItemsSize(void);
virtual void __fastcall AdjustItemsFont(void);
virtual void __fastcall PaintWindow(HDC DC);
void __fastcall PaintSelectionRectangle(Graphics::TCanvas* TargetCanvas);
void __fastcall DrawItem(Graphics::TCanvas* TargetCanvas, const Types::TRect &TargetRect, POGLItem Item);
void __fastcall AddSelectionFromAnchorItemTo(POGLItem Item);
Types::TRect __fastcall GetSelectionDisplayRect();
void __fastcall ClearSelectionRect(void);
bool __fastcall MoveFocus(TOGLMoveFocusDirection MoveFocusDirection, bool SelectItems, bool ClearSelectionBeforeMove, bool SelectFocusedItem, bool MoveWithinGroup)/* overload */;
bool __fastcall DoSetFocusedItem(POGLItem Item, bool SetAnchorItem);
virtual void __fastcall DoStateChange(TOGLStates Enter, TOGLStates Leave = Set<OutlookGroupedList__8, lsHintShowed, lsVCLDragPending> () );
void __fastcall DoTrackMouseEvent(const bool Start);
virtual _di_IDataObject __fastcall DoOLECreateDataObject();
virtual bool __fastcall DoOLEDragOver(const _di_IDataObject DataObject, Classes::TShiftState Shift, const Types::TPoint &Pt, Controls::TDragState State, int &Effect);
virtual void __fastcall DoOLEDrop(const _di_IDataObject DataObject, TClipFormatArray Formats, Classes::TShiftState Shift, const Types::TPoint &Pt, int &Effect);
virtual HRESULT __fastcall DoOLEGetData(const tagFORMATETC &FormatEtcIn, /* out */ tagSTGMEDIUM &Medium);
virtual void __fastcall DoGetOLEClipboardFormats(TFormatEtcArray &Formats);
virtual bool __fastcall DoOLEDragAllowed(POGLItem Item);
void __fastcall DoOLEDragging(const Types::TPoint &P);
DYNAMIC void __fastcall DoEndDrag(System::TObject* Target, int X, int Y);
DYNAMIC void __fastcall DragCanceled(void);
void __fastcall DragFinished(void);
virtual HRESULT __fastcall OLEDragEnter(const _di_IDataObject DataObject, int KeyState, const Types::TPoint &Pt, int &Effect);
virtual HRESULT __fastcall OLEDragOver(int KeyState, const Types::TPoint &Pt, Controls::TDragState State, int &Effect);
virtual void __fastcall OLEDragLeave(void);
virtual HRESULT __fastcall OLEDrop(const _di_IDataObject DataObject, int KeyState, const Types::TPoint &Pt, int &Effect);
virtual HRESULT __fastcall OLEGetData(const tagFORMATETC &FormatEtcIn, /* out */ tagSTGMEDIUM &Medium);
void __fastcall HandleMouseDown(Messages::TWMMouse &Message, const TOGLItemHitInfo &HitInfo);
void __fastcall HandleMouseUp(Messages::TWMMouse &Message, const TOGLItemHitInfo &HitInfo);
void __fastcall HandleMouseSelection(Types::TRect &UpdateRect, const Types::TRect &OldSelRect, const Types::TRect &NewSelRect);
void __fastcall HandleMouseDownSelection(POGLItem LastFocused, POGLItem HitItem, Classes::TShiftState Shift, bool DragPending);
DYNAMIC void __fastcall DblClick(void);
DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
DYNAMIC void __fastcall DoEnter(void);
DYNAMIC void __fastcall DoExit(void);
DYNAMIC void __fastcall Resize(void);
Word __fastcall GetChildItemWidth(void);
__property Word GroupItemHeight = {read=FGroupItemHeight, nodefault};
__property Word ChildItemHeight = {read=FChildItemHeight, nodefault};
void __fastcall SetGroupItemHeight(int Value);
void __fastcall SetInternalRootItem(POGLItem RItem);
Types::TRect __fastcall GetRealRect(POGLItem Item, bool IncludeChildren = false);
__property bool ShowNodes = {read=FShowNodes, write=SetShowNodes, nodefault};
__property bool GroupShowCount = {read=FGroupShowCount, write=SetGroupShowCount, nodefault};
__property bool ConsiderColHint = {read=FConsiderColHint, write=FConsiderColHint, nodefault};
__property bool DoNotClearItems = {read=FDoNotClearItems, write=FDoNotClearItems, default=0};
__property TDragDropMode DragDropMode = {read=FDragDropMode, write=SetDragDropMode, nodefault};
__property bool HideSelection = {read=FHideSelection, write=FHideSelection, nodefault};
__property TOGLMouseButtonEvent OnMouseDownOnItem = {read=FOnMouseDownOnItem, write=FOnMouseDownOnItem};
__property TOGLMouseButtonEvent OnMouseUpOnItem = {read=FOnMouseUpOnItem, write=FOnMouseUpOnItem};
__property Classes::TNotifyEvent OnSelectionChange = {read=FOnSelectionChange, write=FOnSelectionChange};
public:
__fastcall virtual TOutlookGroupedList(Classes::TComponent* AOwner);
__fastcall virtual ~TOutlookGroupedList(void);
virtual void __fastcall Loaded(void);
void __fastcall BeginUpdate(void);
void __fastcall EndUpdate(void);
void __fastcall InternalPaintWindow(Graphics::TCanvas* Canvas, bool OnlySelectedItems = false);
virtual Types::TRect __fastcall InvalidateItem(POGLItem Item, const bool IncludeChildren = false);
void __fastcall GetHitTestInfoAt(int X, int Y, const bool Relative, TOGLItemHitInfo &HitInfo);
POGLItem __fastcall GetItemAt(int X, int Y, const bool Relative);
bool __fastcall IsItem2AfterItem1(POGLItem Item1, POGLItem Item2);
AnsiString __fastcall GetCaption(POGLItem Item);
POGLItem __fastcall CaptionToItem(AnsiString ACaption, const POGLItem GroupItem = (void *)(0x0));
POGLItem __fastcall AddItem(POGLItem ParentItem = (void *)(0x0));
POGLItem __fastcall InsertItem(POGLItem ParentItem, int Index);
void __fastcall DeleteItem(POGLItem Item, bool Reindex = true);
void __fastcall DeleteSelectedItems(bool ReIndex = false);
void __fastcall Clear(void);
void * __fastcall GetItemData(POGLItem Item);
void __fastcall SelectItem(POGLItem Item);
bool __fastcall IsItemSelected(POGLItem Item);
bool __fastcall IsGroupItem(POGLItem Item);
bool __fastcall IsGroupExpanded(POGLItem Item);
bool __fastcall ExpandItem(POGLItem Item);
bool __fastcall CollapseItem(POGLItem Item);
void __fastcall ToggleExpandedItem(POGLItem Item);
bool __fastcall ExpandAll(void);
bool __fastcall CollapseAll(void);
Types::TRect __fastcall GetDisplayRect(POGLItem Item);
bool __fastcall ScrollIntoView(POGLItem Item, bool AutoScrollOnExpand = false);
void __fastcall AddToSelection(POGLItem Item, bool IncludeChildItems = false);
void __fastcall RemoveFromSelection(POGLItem Item, bool IncludeChildItems = false);
void __fastcall InvertSelection(POGLItem Item, bool IncludeChildItems = false);
void __fastcall AddAllToSelection(void);
void __fastcall RemoveSelectionBeforeItem(POGLItem Item);
void __fastcall RemoveSelectionAfterItem(POGLItem Item);
bool __fastcall ClearSelection(void);
void __fastcall Sort(POGLItem ParentItem, TOGLSortColumn Column, TOGLSortDirection Direction)/* overload */;
void __fastcall Sort(TOGLSortColumn Column = (TOGLSortColumn)(0xffffffff), TOGLSortDirection Direction = (TOGLSortDirection)(0x2))/* overload */;
HIDESBASE void __fastcall BeginDrag(bool Immediate, int Threshold = 0xffffffff);
HIDESBASE bool __fastcall Dragging(void);
__property int ItemDataSize = {read=FItemDataSize, write=FItemDataSize, nodefault};
__property POGLItem RootItem = {read=FRootItem};
__property POGLItem FocusedItem = {read=FFocusedItem, write=SetFocusedItem};
__property POGLItem FirstGroupItem = {read=GetFirstGroupItem};
__property POGLItem FirstSelectedItem = {read=GetFirstSelectedItem};
__property int SelectedCount = {read=GetSelectedCount, nodefault};
__property _di_IOGLDragEngine DragEngine = {read=GetDragEngine};
__property POGLItem DropTargetGroup = {read=FDropTargetGroup};
__published:
__property TOGLAutoOptions AutoOptions = {read=FAutoOptions, write=FAutoOptions, default=57};
__property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
__property TOGLDragOperations DragOperations = {read=FDragOperations, write=FDragOperations, default=1};
__property TOGLDragType DragType = {read=FDragType, write=FDragType, default=0};
__property TOGLDragOptions DragOptions = {read=FDragOptions, write=SetDragOptions, default=7};
__property Word DragImageWidth = {read=FDragImageWidth, write=FDragImageWidth, default=350};
__property Word DragImageHeight = {read=FDragImageHeight, write=FDragImageHeight, default=200};
__property TOGLDrawSelectionMode DrawSelectionMode = {read=FDrawSelectionMode, write=FDrawSelectionMode, default=2};
__property TOGLHintOptions* HintOptions = {read=FHintOptions, write=FHintOptions};
__property Imglist::TCustomImageList* Images = {read=FImages, write=SetImages};
__property TOGLThumbnailOptions* ThumbnailOptions = {read=FThumbnailOptions, write=FThumbnailOptions};
__property TOGLSelectionOptions SelectionOptions = {read=FSelectionOptions, write=FSelectionOptions, default=3};
__property TOGLSortColumn SortColumn = {read=FSortColumn, write=SetSortColumn, default=-1};
__property TOGLSortDirection SortDirection = {read=FSortDirection, write=SetSortDirection, default=0};
__property TOGLSearchType SearchType = {read=FSearchType, write=FSearchType, default=2};
__property TOGLViewStyle ViewStyle = {read=FViewStyle, write=SetViewStyle, default=1};
__property TOGLItemEvent OnInitItem = {read=FOnInitItem, write=FOnInitItem};
__property TOGLItemEvent OnFreeItem = {read=FOnFreeItem, write=FOnFreeItem};
__property TOGLGetCaptionEvent OnGetCaption = {read=FOnGetCaption, write=FOnGetCaption};
__property TOGLGetHintEvent OnGetHint = {read=FOnGetHint, write=FOnGetHint};
__property TOGLGetHintSizeEvent OnGetHintSize = {read=FOnGetHintSize, write=FOnGetHintSize};
__property TOGLGetImageIndexEvent OnGetGroupImageIndex = {read=FOnGetGroupImageIndex, write=FOnGetGroupImageIndex};
__property TOGLDrawItemEvent OnDrawItem = {read=FOnDrawItem, write=FOnDrawItem};
__property TOGLDrawHintEvent OnDrawHint = {read=FOnDrawHint, write=FOnDrawHint};
__property TOGLItemEvent OnItemDblClick = {read=FOnItemDblClick, write=FOnItemDblClick};
__property TOGLGetChildItemHeightEvent OnGetChildItemHeight = {read=FOnGetChildItemHeight, write=FOnGetChildItemHeight};
__property TOGLCompareItemsEvent OnCompareItems = {read=FOnCompareItems, write=FOnCompareItems};
__property TOGLSearchItemEvent OnSearchItem = {read=FOnSearchItem, write=FOnSearchItem};
__property TOGLGetDataObjectEvent OnOLEGetDataObject = {read=FOnOLEGetDataObject, write=FOnOLEGetDataObject};
__property TOGLDragOverEvent OnOLEDragOver = {read=FOnOLEDragOver, write=FOnOLEDragOver};
__property TOGLDropEvent OnOLEDrop = {read=FOnOLEDrop, write=FOnOLEDrop};
__property TOGLGetDataEvent OnOLEGetData = {read=FOnOLEGetData, write=FOnOLEGetData};
__property TOGLGetClipboardFormatsEvent OnOLEGetClipboardFormats = {read=FOnOLEGetClipboardFormats, write=FOnOLEGetClipboardFormats};
__property TOGLDragAllowedEvent OnOLEDragAllowed = {read=FOnOLEDragAllowed, write=FOnOLEDragAllowed};
__property Align = {default=0};
__property Anchors = {default=3};
__property BevelEdges = {default=15};
__property BevelInner = {index=0, default=2};
__property BevelOuter = {index=1, default=1};
__property BevelKind = {default=0};
__property BevelWidth = {default=1};
__property BiDiMode ;
__property Constraints ;
__property DockSite = {default=0};
__property DragCursor = {default=-12};
__property DragKind = {default=0};
__property DragMode = {default=1};
__property Enabled = {default=1};
__property Ctl3D ;
__property Font ;
__property ParentBiDiMode = {default=1};
__property ParentCtl3D = {default=1};
__property ParentFont = {default=1};
__property ParentShowHint = {default=1};
__property PopupMenu ;
__property ShowHint ;
__property TabOrder = {default=-1};
__property TabStop = {default=1};
__property Visible = {default=1};
__property OnCanResize ;
__property OnClick ;
__property OnConstrainedResize ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -