cheat-engine/Cheat Engine/scrollTreeView.pas

152 lines
3.7 KiB
ObjectPascal

unit scrollTreeView;
{Helper class for treeviews that need more control over the horizontal scroll)
{$mode delphi}
interface
uses
Classes, SysUtils, controls, StdCtrls, ExtCtrls, comctrls, lmessages;
type
//-----old imp-----------
THScrollEvent=procedure (sender: TObject; scrolledleft, maxscrolledleft: integer) of object;
TTreeView = class(TCustomTreeView)
private
fOnHScroll: THScrollEvent;
fOnVScroll: TNotifyEvent;
public
procedure WMHScroll(var Msg: TLMScroll); message LM_HSCROLL;
procedure WMVScroll(var Msg: TLMScroll); message LM_VSCROLL;
procedure ForceScrollbarChange;
// procedure resize;
published
property ScrolledLeft;
property onHScroll: THScrollEvent read fOnHScroll write fOnHScroll;
property onVScroll: TNotifyEvent read fOnVScroll write fOnVScroll;
property Align;
property Anchors;
property AutoExpand;
property BorderSpacing;
//property BiDiMode;
property BackgroundColor;
property BorderStyle;
property BorderWidth;
property Color;
property Constraints;
property DefaultItemHeight;
property DragKind;
property DragCursor;
property DragMode;
property Enabled;
property ExpandSignType;
property Font;
property HideSelection;
property HotTrack;
property Images;
property Indent;
//property ParentBiDiMode;
property ParentColor default False;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ReadOnly;
property RightClickSelect;
property RowSelect;
property ScrollBars;
property SelectionColor;
property ShowButtons;
property ShowHint;
property ShowLines;
property ShowRoot;
property SortType;
property StateImages;
property TabOrder;
property TabStop default True;
property Tag;
property ToolTips;
property Visible;
property OnAddition;
property OnAdvancedCustomDraw;
property OnAdvancedCustomDrawItem;
property OnChange;
property OnChanging;
property OnClick;
property OnCollapsed;
property OnCollapsing;
property OnCompare;
property OnContextPopup;
property OnCreateNodeClass;
property OnCustomCreateItem;
property OnCustomDraw;
property OnCustomDrawItem;
property OnDblClick;
property OnDeletion;
property OnDragDrop;
property OnDragOver;
property OnEdited;
property OnEditing;
//property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnExpanded;
property OnExpanding;
property OnGetImageIndex;
property OnGetSelectedIndex;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseEnter;
property OnMouseLeave;
property OnMouseMove;
property OnMouseUp;
property OnSelectionChanged;
property OnShowHint;
//property OnStartDock;
property OnStartDrag;
property OnUTF8KeyPress;
property Options;
property Items;
property TreeLineColor;
property TreeLinePenStyle;
property ExpandSignColor;
property MultiSelect;
property MultiSelectStyle;
end;
implementation
procedure TTreeview.ForceScrollbarChange;
begin
GetMaxScrollLeft;
end;
procedure TTreeview.WMVScroll(var Msg: TLMScroll);
begin
inherited WMVScroll(msg);
if assigned(fOnVScroll) then
fOnVScroll(self);
end;
procedure TTreeview.WMHScroll(var Msg: TLMScroll);
begin
inherited WMHScroll(msg);
if assigned(fOnHScroll) then
fOnHScroll(self, self.ScrolledLeft, self.GetMaxScrollLeft);
end;
end.