Componentes.Terceros.Mustan.../official/1.7.0/EasyListview/Demos/Fulldemo/Unit1.pas
david 778b05bf9f Importación inicial
- Mustangpeak Common Library - 1.7.0
  - EasyListview - 1.7.0

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.Mustangpeak@2 60b41242-d4b9-2247-b156-4ccd40706241
2007-09-11 08:33:06 +00:00

2165 lines
79 KiB
ObjectPascal

unit Unit1;
interface
// DRAG UNSELECT MISSES SOME ITEMS AND DOES NOT UNSELECT THEM
// DRAG/SELECTDRAG SCROLL DOES NOT ACCOUNT FOR HEADER
{$I ..\..\Source\Compilers.inc}
uses
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ComCtrls,
ImgList,
ExtCtrls,
CheckLst,
ActiveX,
EasyListview,
MPCommonUtilities,
MPCommonObjects, Menus;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
Panel2: TPanel;
EasyListview1: TEasyListview;
StaticText1: TStaticText;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
CheckBoxSelMulti: TCheckBox;
CheckBoxSelEnabled: TCheckBox;
CheckBoxSelAlphaRect: TCheckBox;
TrackBarSelBlendAlpha: TTrackBar;
LabelSelBlendAlpha: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
LabelSelColor: TLabel;
LabelSelInactiveColor: TLabel;
LabelSelInactiveBorderColor: TLabel;
LabelSelInactiveTextColor: TLabel;
Label1SelTextColor: TLabel;
PanelSelRectBlendColor: TPanel;
PanelSelBorderColor: TPanel;
PanelSelColor: TPanel;
PanelSelTextColor: TPanel;
PanelSelInactiveColor: TPanel;
PanelSelInactiveBorderColor: TPanel;
PanelSelInactiveTextColor: TPanel;
CheckBoxSelFullRow: TCheckBox;
CheckBoxSelRound: TCheckBox;
Label9: TLabel;
EditSelRoundRadius: TEdit;
CheckBoxShowFocusRect: TCheckBox;
CheckBoxSelDragRect: TCheckBox;
Splitter1: TSplitter;
CheckBoxSelAutoScroll: TCheckBox;
EditSelScrollDelay: TEdit;
Label10: TLabel;
Label11: TLabel;
EditSelScrollTime: TEdit;
EditSelAccel: TEdit;
Label12: TLabel;
EditSelEdgeMargin: TEdit;
Label13: TLabel;
ColorDialog1: TColorDialog;
PanelSelRectBorderColor: TPanel;
Label15: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Label16: TLabel;
CheckBoxSelAlphaBlend: TCheckBox;
Label4: TLabel;
EditGroupCount: TEdit;
EditItemCount: TEdit;
Label3: TLabel;
Label5: TLabel;
EditColumnCount: TEdit;
Button2: TButton;
Button3: TButton;
TabSheet4: TTabSheet;
CheckBoxShowHeader: TCheckBox;
CheckBoxThemed: TCheckBox;
TabSheet5: TTabSheet;
ComboBoxItemItemCheckType: TComboBox;
Label2: TLabel;
Label17: TLabel;
cbViews: TComboBox;
Label18: TLabel;
Panel3: TPanel;
Panel4: TPanel;
ButtonSelFirst: TButton;
ButtonSelNext: TButton;
ButtonSelFirstInGroup: TButton;
ButtonSelNextInGroup: TButton;
EditSelGroup: TEdit;
Label19: TLabel;
ButtonSelAll: TButton;
ButtonSelClear: TButton;
Label20: TLabel;
ButtonSelInvert: TButton;
CheckBoxVisHideItems: TCheckBox;
CheckBoxVisHideGroups: TCheckBox;
CheckBoxTrackSelections: TCheckBox;
CheckBoxSelLinearSelect: TCheckBox;
CheckBoxRandomizeItemCount: TCheckBox;
TabSheet6: TTabSheet;
Label21: TLabel;
ComboBoxItemGroupCheckType: TComboBox;
Label22: TLabel;
ComboBoxItemColumnCheckType: TComboBox;
EditMaxSizeWidth: TEdit;
CheckBoxMaxSizeWidth: TCheckBox;
CheckBoxGroupExpandable: TCheckBox;
CheckBoxBlendedBand: TCheckBox;
PanelBandStartColor: TPanel;
PanelBandFadeColor: TPanel;
Label1: TLabel;
Label14: TLabel;
Label23: TLabel;
EditBandWidth: TEdit;
Bevel3: TBevel;
Label24: TLabel;
CheckBoxMarginTop: TCheckBox;
CheckBoxMarginLeft: TCheckBox;
CheckBoxMarginRight: TCheckBox;
CheckBoxMarginBottom: TCheckBox;
Label25: TLabel;
EditBandLength: TEdit;
CheckBoxBandTracksWindow: TCheckBox;
GroupBox2: TGroupBox;
CheckBoxSelMouseButtonL: TCheckBox;
CheckBoxSelMouseButtonR: TCheckBox;
CheckBoxSelMouseButtonM: TCheckBox;
GroupBox1: TGroupBox;
CheckBoxSelRectMouseButtonL: TCheckBox;
CheckBoxSelRectMouseButtonR: TCheckBox;
CheckBoxSelRectMouseButtonM: TCheckBox;
Bevel4: TBevel;
CheckBoxFullItemSelect: TCheckBox;
CheckBoxFullCellSelect: TCheckBox;
CheckBoxGroupSelection: TCheckBox;
Bevel5: TBevel;
Label26: TLabel;
Label27: TLabel;
TrackBarSizeIconWidth: TTrackBar;
TrackBarSizeIconHeight: TTrackBar;
ButtonSizeReset: TButton;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
LabelIconSizeWidth: TLabel;
LabelIconSizeHeight: TLabel;
Label32: TLabel;
Label33: TLabel;
LabelSmallIconSizeWidth: TLabel;
LabelSmallIconSizeHeight: TLabel;
Label36: TLabel;
Label37: TLabel;
LabelListSizeWidth: TLabel;
LabelListSizeHeight: TLabel;
LabelThumbSizeWidth: TLabel;
LabelThumbSizeHeight: TLabel;
LabelTileSizeWidth: TLabel;
LabelTileSizeHeight: TLabel;
Label34: TLabel;
LabelReportSizeWidth: TLabel;
LabelReportSizeHeight: TLabel;
TrackBarSizeReportHeight: TTrackBar;
TrackBarSizeReportWidth: TTrackBar;
TrackBarSizeIconSmallHeight: TTrackBar;
TrackBarSizeIconSmallWidth: TTrackBar;
TrackBarSizeThumbsHeight: TTrackBar;
TrackBarSizeThumbsWidth: TTrackBar;
TrackBarSizeTilesHeight: TTrackBar;
TrackBarSizeTilesWidth: TTrackBar;
TrackBarSizeListHeight: TTrackBar;
TrackBarSizeListWidth: TTrackBar;
TabSheet7: TTabSheet;
Label35: TLabel;
Label38: TLabel;
Button1: TButton;
Button4: TButton;
OpenDialogStream: TOpenDialog;
SaveDialogStream: TSaveDialog;
ButtonExpandAll: TButton;
ButtonCollapseAll: TButton;
CheckBoxResizeGroup: TCheckBox;
CheckBoxBlendIcon: TCheckBox;
CheckBoxShowGroupMargins: TCheckBox;
EditTileDetailCount: TEdit;
Label39: TLabel;
CheckBoxDragDrop: TCheckBox;
TabSheet8: TTabSheet;
CheckBoxRandomItemCaptionColor: TCheckBox;
CheckBoxRandomGroupCaptionColor: TCheckBox;
CheckBoxRandomHeaderCaptionColors: TCheckBox;
TabSheet9: TTabSheet;
CheckBoxIncrementalSearchEnable: TCheckBox;
ComboBoxIncrementalSearchType: TComboBox;
ComboBoxIncrementalSearchStartType: TComboBox;
Label40: TLabel;
Label41: TLabel;
RadioGroupIncrementalSearchDir: TRadioGroup;
EditIncrementalSearchResetTime: TEdit;
Label42: TLabel;
Label43: TLabel;
LabelQuery: TLabel;
Label45: TLabel;
LabelItemIndex: TLabel;
TabSheet10: TTabSheet;
CheckBoxDragDropEnabled: TCheckBox;
TrackBarSelTextBlendAlpha: TTrackBar;
Label44: TLabel;
LabelBlendAlphaTextRect: TLabel;
TabSheet11: TTabSheet;
Label46: TLabel;
Label48: TLabel;
Label50: TLabel;
Label51: TLabel;
Label47: TLabel;
CheckBoxHotTrackEnable: TCheckBox;
GroupBoxGroupHotTrack: TGroupBox;
GroupBox4: TGroupBox;
CheckBoxGroupHitIcon: TCheckBox;
CheckBoxGroupHitText: TCheckBox;
CheckBoxGroupHitTop: TCheckBox;
CheckBoxGroupHitBottom: TCheckBox;
CheckBoxGroupHitLeft: TCheckBox;
CheckBoxGroupHitRight: TCheckBox;
CheckBoxGroupHitAnywhere: TCheckBox;
CheckBoxItemHitIcon: TCheckBox;
CheckBoxItemHitText: TCheckBox;
CheckBoxItemHitAnyWhere: TCheckBox;
CheckBoxUnderLineText: TCheckBox;
CheckBoxHotTrackFocusOnly: TCheckBox;
CheckBoxRedDetails: TCheckBox;
CheckBoxHilightColumn: TCheckBox;
ButtonHilightColor: TButton;
CheckBoxGridLines: TCheckBox;
ButtonGridLineColor: TButton;
CheckBoxSelectionGradient: TCheckBox;
PanelGradientTop: TPanel;
PanelGradientBottom: TPanel;
CheckBoxSelectionBlurBkGnd: TCheckBox;
TabSheet12: TTabSheet;
EditBkGndCaption: TEdit;
CheckBoxBkGndText: TCheckBox;
CheckBoxBkGnd: TCheckBox;
CheckBoxBkGndCaptionOnlyWhenEmpty: TCheckBox;
RadioGroupBkGndCaptionAlignment: TRadioGroup;
RadioGroupBkGndCaptionVAlignment: TRadioGroup;
CheckBoxBkGndCaptionSingleLine: TCheckBox;
Bevel6: TBevel;
Label49: TLabel;
Bevel7: TBevel;
Label52: TLabel;
CheckBoxBkGndTile: TCheckBox;
CheckBoxBkGndTransparent: TCheckBox;
TrackBarBkGndXOffset: TTrackBar;
TrackBarBkGndYOffset: TTrackBar;
Label53: TLabel;
Label55: TLabel;
CheckBoxTrackOffsets: TCheckBox;
Label54: TLabel;
EditBkGndImage: TEdit;
ButtonBkGndLoadImage: TButton;
Bevel8: TBevel;
Label56: TLabel;
CheckBoxBkGndCustomDraw: TCheckBox;
CheckBoxCustomBkGndAlphaBlend: TCheckBox;
TrackBarCustomDrawBkGnd: TTrackBar;
Label57: TLabel;
CheckBoxHideCaptions: TCheckBox;
Button5: TButton;
CheckBoxStateImages: TCheckBox;
ImageListState: TImageList;
CheckBoxHeaderAlwaysVisible: TCheckBox;
CheckBoxSnapHorzScroll: TCheckBox;
Label58: TLabel;
EditHeight: TEdit;
GroupBox3: TGroupBox;
CheckBoxHeaderDropDownArrow: TCheckBox;
CheckBoxDropDownArrowAlwaysShow: TCheckBox;
CheckBoxDropDownButtonEnabled: TCheckBox;
PopupMenuColumnDropDownButtonMenu: TPopupMenu;
ColumnDropDownButtonMenuItem11: TMenuItem;
ColumnDropDownButtonMenuItem21: TMenuItem;
ColumnDropDownButtonMenuItem31: TMenuItem;
CheckBoxDropDownButtonCustomAction: TCheckBox;
GroupBox5: TGroupBox;
CheckBoxHeaderHotTrack: TCheckBox;
CheckBoxHeaderSizeable: TCheckBox;
CheckBoxHeaderClickable: TCheckBox;
CheckBoxHeaderDraggable: TCheckBox;
CheckBoxAutoToggleSort: TCheckBox;
Label59: TLabel;
EditBandMargin: TEdit;
RadioGroupGroupVAlign: TRadioGroup;
RadioGroupGroupHAlign: TRadioGroup;
Label60: TLabel;
EditBandIndent: TEdit;
EditGroupMarginTop: TEdit;
EditGroupMarginBottom: TEdit;
EditGroupMarginLeft: TEdit;
EditGroupMarginRight: TEdit;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBoxThemedClick(Sender: TObject);
procedure CheckBoxHideItemsClick(Sender: TObject);
procedure EasyListview1ItemVisibilityChanged(
Sender: TCustomEasyListview; Item: TEasyItem);
procedure cbViewsChange(Sender: TObject);
procedure Chnge(Sender: TObject);
procedure CheckBoxShowHeaderClick(Sender: TObject);
procedure TrackBarSelBlendAlphaChange(Sender: TObject);
procedure CheckBoxSelEnabledClick(Sender: TObject);
procedure CheckBoxShowFocusRectClick(Sender: TObject);
procedure CheckBoxSelFullRowClick(Sender: TObject);
procedure CheckBoxSelMultiClick(Sender: TObject);
procedure CheckBoxSelAlphaRectClick(Sender: TObject);
procedure CheckBoxSelRoundClick(Sender: TObject);
procedure CheckBoxSelAutoScrollClick(Sender: TObject);
procedure CheckBoxSelDragRectClick(Sender: TObject);
procedure EditSelExit(Sender: TObject);
procedure EditSelScrollDelayKeyPress(Sender: TObject; var Key: Char);
procedure PanelSelBorderColorClick(Sender: TObject);
procedure PanelSelInactiveColorClick(Sender: TObject);
procedure PanelSelColorClick(Sender: TObject);
procedure PanelSelInactiveBorderColorClick(Sender: TObject);
procedure PanelSelTextColorClick(Sender: TObject);
procedure PanelSelInactiveTextColorClick(Sender: TObject);
procedure PanelSelRectBlendColorClick(Sender: TObject);
procedure PanelSelRectBorderColorClick(Sender: TObject);
procedure CheckBoxSelAlphaBlendClick(Sender: TObject);
procedure ButtonSelFirstClick(Sender: TObject);
procedure ButtonSelNextClick(Sender: TObject);
procedure ButtonSelFirstInGoupClick(Sender: TObject);
procedure ButtonSelNextInGroupClick(Sender: TObject);
procedure EasyListview1ItemFreeing(Sender: TCustomEasyListview; Item: TEasyItem);
procedure EasyListview1GroupFreeing(Sender: TCustomEasyListview; Group: TEasyGroup);
procedure ButtonSelAllClick(Sender: TObject);
procedure ButtonSelClearClick(Sender: TObject);
procedure ButtonSelInvertClick(Sender: TObject);
procedure CheckBoxVisHideItemsClick(Sender: TObject);
procedure CheckBoxVisHideGroupsClick(Sender: TObject);
procedure EasyListview1ItemSelectionChanged(
Sender: TCustomEasyListview; Item: TEasyItem);
procedure CheckBoxSelLinearSelectClick(Sender: TObject);
procedure EasyListview1GroupInitialize(Sender: TCustomEasyListview;
Group: TEasyGroup);
procedure ComboBoxItemGroupCheckTypeChange(Sender: TObject);
procedure ComboBoxItemColumnCheckTypeChange(Sender: TObject);
procedure EasyListview1ColumnInitialize(Sender: TCustomEasyListview;
Column: TEasyColumn);
procedure EasyListview1ColumnClick(Sender: TCustomEasyListview;
Button: TCommonMouseButton; Column: TEasyColumn);
procedure EasyListview1ColumnSizeChanging(Sender: TCustomEasyListview;
Column: TEasyColumn; Width, NewWidth: Integer;
var Allow: Boolean);
procedure CheckBoxMaxSizeWidthClick(Sender: TObject);
procedure EasyListview1OLEDragStart(Sender: TCustomEasyListview;
ADataObject: IDataObject; var AvailableEffects: TCommonDropEffects;
var AllowDrag: Boolean);
procedure CheckBoxGroupExpandableClick(Sender: TObject);
procedure CheckBoxBlendedBandClick(Sender: TObject);
procedure PanelBandStartColorClick(Sender: TObject);
procedure PanelBandFadeColorClick(Sender: TObject);
procedure EditBandWidthKeyPress(Sender: TObject; var Key: Char);
procedure EditBandWidthExit(Sender: TObject);
procedure EditBandLengthExit(Sender: TObject);
procedure EditBandLengthKeyPress(Sender: TObject; var Key: Char);
procedure CheckBoxBandTracksWindowClick(Sender: TObject);
procedure CheckBoxMarginTopClick(Sender: TObject);
procedure CheckBoxMarginBottomClick(Sender: TObject);
procedure CheckBoxMarginLeftClick(Sender: TObject);
procedure CheckBoxMarginRightClick(Sender: TObject);
procedure CheckBoxSelMouseButtonLClick(Sender: TObject);
procedure CheckBoxSelMouseButtonRClick(Sender: TObject);
procedure CheckBoxSelMouseButtonMClick(Sender: TObject);
procedure CheckBoxSelRectMouseButtonLClick(Sender: TObject);
procedure CheckBoxSelRectMouseButtonRClick(Sender: TObject);
procedure CheckBoxSelRectMouseButtonMClick(Sender: TObject);
procedure CheckBoxHeaderHotTrackClick(Sender: TObject);
procedure CheckBoxHeaderSizeableClick(Sender: TObject);
procedure CheckBoxHeaderClickableClick(Sender: TObject);
procedure CheckBoxFullItemSelectClick(Sender: TObject);
procedure CheckBoxFullCellSelectClick(Sender: TObject);
procedure CheckBoxGroupSelectionClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure EditSelRoundRadiusKeyPress(Sender: TObject; var Key: Char);
procedure EditSelRoundRadiusExit(Sender: TObject);
procedure ButtonSizeResetClick(Sender: TObject);
procedure TrackBarSizeIconWidthChange(Sender: TObject);
procedure TrackBarSizeIconHeightChange(Sender: TObject);
procedure TrackBarSizeIconSmallWidthChange(Sender: TObject);
procedure TrackBarSizeIconSmallHeightChange(Sender: TObject);
procedure TrackBarSizeListWidthChange(Sender: TObject);
procedure TrackBarSizeListHeightChange(Sender: TObject);
procedure TrackBarSizeThumbsWidthChange(Sender: TObject);
procedure TrackBarSizeTilesWidthChange(Sender: TObject);
procedure TrackBarSizeThumbsHeightChange(Sender: TObject);
procedure TrackBarSizeTilesHeightChange(Sender: TObject);
procedure TrackBarSizeReportWidthChange(Sender: TObject);
procedure TrackBarSizeReportHeightChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ButtonExpandAllClick(Sender: TObject);
procedure ButtonCollapseAllClick(Sender: TObject);
procedure EasyListview1ItemGetImageIndex(Sender: TCustomEasyListview;
const Item: TEasyItem; Column: Integer;
ImageKind: TEasyImageKind; var ImageIndex: TCommonImageIndexInteger);
procedure EasyListview1GroupGetCaption(Sender: TCustomEasyListview;
const Group: TEasyGroup; var Caption: WideString);
procedure EasyListview1GroupGetImageIndex(Sender: TCustomEasyListview;
const Group: TEasyGroup; ImageKind: TEasyImageKind;
var ImageIndex: TCommonImageIndexInteger);
procedure EasyListview1ColumnGetImageIndex(Sender: TCustomEasyListview;
const Column: TEasyColumn; ImageKind: TEasyImageKind;
var ImageIndex: TCommonImageIndexInteger);
procedure CheckBoxResizeGroupClick(Sender: TObject);
procedure CheckBoxBlendIconClick(Sender: TObject);
procedure CheckBoxShowGroupMarginsClick(Sender: TObject);
procedure EasyListview1ItemGetTileDetailCount(
Sender: TCustomEasyListview; const Item: TEasyItem;
var Count: Integer);
procedure EasyListview1ItemGetTileDetail(Sender: TCustomEasyListview;
const Item: TEasyItem; Line: Integer; var Detail: Integer);
procedure EditTileDetailCountExit(Sender: TObject);
procedure EditTileDetailCountKeyPress(Sender: TObject; var Key: Char);
procedure CheckBoxHeaderDraggableClick(Sender: TObject);
procedure CheckBoxDragDropClick(Sender: TObject);
procedure EasyListview1OLEDragOver(Sender: TCustomEasyListview;
KeyState: TCommonKeyStates; WindowPt: TPoint;
AvailableEffects: TCommonDropEffects;
var DesiredDropEffect: TCommonDropEffect);
procedure CheckBoxAutoToggleSortClick(Sender: TObject);
procedure EasyListview1ColumnPaintText(Sender: TCustomEasyListview;
Column: TEasyColumn; ACanvas: TCanvas);
procedure EasyListview1GroupPaintText(Sender: TCustomEasyListview;
Group: TEasyGroup; ACanvas: TCanvas);
procedure CheckBoxRandomItemCaptionColorClick(Sender: TObject);
procedure CheckBoxRandomGroupCaptionColorClick(Sender: TObject);
procedure CheckBoxRandomHeaderCaptionColorsClick(Sender: TObject);
procedure RadioGroupIncrementalSearchDirClick(Sender: TObject);
procedure ComboBoxIncrementalSearchTypeChange(Sender: TObject);
procedure ComboBoxIncrementalSearchStartTypeChange(Sender: TObject);
procedure EditIncrementalSearchResetTimeKeyPress(Sender: TObject;
var Key: Char);
procedure EditIncrementalSearchResetTimeExit(Sender: TObject);
procedure CheckBoxIncrementalSearchEnableClick(Sender: TObject);
procedure EasyListview1IncrementalSearch(Item: TEasyCollectionItem;
const SearchBuffer: WideString; var Handled: Boolean; var CompareResult: Integer);
procedure CheckBoxDragDropEnabledClick(Sender: TObject);
procedure TrackBarSelTextBlendAlphaChange(Sender: TObject);
procedure EasyListview1GroupHotTrack(Sender: TCustomEasyListview;
Group: TEasyGroup; State: TEasyHotTrackState; MousePos: TPoint);
procedure EasyListview1ItemHotTrack(Sender: TCustomEasyListview;
Item: TEasyItem; State: TEasyHotTrackState; MousePos: TPoint);
procedure CheckBoxHotTrackEnableClick(Sender: TObject);
procedure CheckBoxGroupHitIconClick(Sender: TObject);
procedure CheckBoxGroupHitTextClick(Sender: TObject);
procedure CheckBoxGroupHitTopClick(Sender: TObject);
procedure CheckBoxGroupHitBottomClick(Sender: TObject);
procedure CheckBoxGroupHitLeftClick(Sender: TObject);
procedure CheckBoxGroupHitRightClick(Sender: TObject);
procedure CheckBoxGroupHitAnywhereClick(Sender: TObject);
procedure CheckBoxItemHitIconClick(Sender: TObject);
procedure CheckBoxItemHitTextClick(Sender: TObject);
procedure CheckBoxItemHitAnyWhereClick(Sender: TObject);
procedure CheckBoxUnderLineTextClick(Sender: TObject);
procedure CheckBoxHotTrackFocusOnlyClick(Sender: TObject);
procedure EasyListview1ItemPaintText(Sender: TCustomEasyListview;
Item: TEasyItem; Position: Integer; ACanvas: TCanvas);
procedure CheckBoxRedDetailsClick(Sender: TObject);
procedure CheckBoxBkGndClick(Sender: TObject);
procedure CheckBoxHilightColumnClick(Sender: TObject);
procedure ButtonHilightColorClick(Sender: TObject);
procedure CheckBoxGridLinesClick(Sender: TObject);
procedure ButtonGridLineColorClick(Sender: TObject);
procedure EasyListview1ItemGetCaption(Sender: TCustomEasyListview;
Item: TEasyItem; Column: Integer; var Caption: WideString);
procedure CheckBoxSelectionGradientClick(Sender: TObject);
procedure PanelGradientTopClick(Sender: TObject);
procedure PanelGradientBottomClick(Sender: TObject);
procedure CheckBoxSelectionBlurBkGndClick(Sender: TObject);
procedure CheckBoxBkGndTextClick(Sender: TObject);
procedure EditBkGndCaptionChange(Sender: TObject);
procedure RadioGroupBkGndCaptionAlignmentClick(Sender: TObject);
procedure RadioGroupBkGndCaptionVAlignmentClick(Sender: TObject);
procedure CheckBoxBkGndCaptionOnlyWhenEmptyClick(Sender: TObject);
procedure CheckBoxBkGndCaptionSingleLineClick(Sender: TObject);
procedure CheckBoxBkGndTileClick(Sender: TObject);
procedure CheckBoxBkGndTransparentClick(Sender: TObject);
procedure TrackBarBkGndXOffsetChange(Sender: TObject);
procedure TrackBarBkGndYOffsetChange(Sender: TObject);
procedure CheckBoxTrackOffsetsClick(Sender: TObject);
procedure ButtonBkGndLoadImageClick(Sender: TObject);
procedure EasyListview1PaintBkGnd(Sender: TCustomEasyListview;
ACanvas: TCanvas; AWindowRect: TRect;
AlphaBlender: TEasyAlphaBlender; var DoDefault: Boolean);
procedure CheckBoxBkGndCustomDrawClick(Sender: TObject);
procedure CheckBoxCustomDrawCirclesClick(Sender: TObject);
procedure TrackBarCustomDrawBkGndChange(Sender: TObject);
procedure CheckBoxCustomBkGndAlphaBlendClick(Sender: TObject);
procedure CheckBoxHideCaptionsClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure CheckBoxStateImagesClick(Sender: TObject);
procedure CheckBoxHeaderAlwaysVisibleClick(Sender: TObject);
procedure CheckBoxSnapHorzScrollClick(Sender: TObject);
procedure EditHeightExit(Sender: TObject);
procedure EditHeightKeyPress(Sender: TObject; var Key: Char);
procedure CheckBoxHeaderDropDownArrowClick(Sender: TObject);
procedure EasyListview1ColumnGetCaption(Sender: TCustomEasyListview;
Column: TEasyColumn; Line: Integer; var Caption: WideString);
procedure CheckBoxDropDownArrowAlwaysShowClick(Sender: TObject);
procedure CheckBoxDropDownButtonEnabledClick(Sender: TObject);
procedure EasyListview1ColumnDropDownButtonClick(
Sender: TCustomEasyListview; Column: TEasyColumn;
Button: TCommonMouseButton; ShiftState: TShiftState;
WindowPt: TPoint; var DoDefault: Boolean);
procedure EditBandMarginExit(Sender: TObject);
procedure EditBandMarginKeyPress(Sender: TObject; var Key: Char);
procedure RadioGroupGroupHAlignClick(Sender: TObject);
procedure RadioGroupGroupVAlignClick(Sender: TObject);
procedure EditBandIndentExit(Sender: TObject);
procedure EditBandIndentKeyPress(Sender: TObject; var Key: Char);
procedure EditGroupMarginTopExit(Sender: TObject);
procedure EditGroupMarginTopKeyPress(Sender: TObject; var Key: Char);
private
FSelectionItem: TEasyItem;
FSelectionGroup: TEasyGroup;
FRebuildOnce: Boolean;
{ Private declarations }
public
{ Public declarations }
procedure SyncForm;
function ChangeColor(Panel: TPanel): TColor;
procedure InvalidateLV;
procedure SyncGroupsTab;
property SelectionItem: TEasyItem read FSelectionItem write FSelectionItem;
property SelectionGroup: TEasyGroup read FSelectionGroup write FSelectionGroup;
end;
var
Form1: TForm1;
implementation
uses DatamoduleImagelists;
{$R *.dfm}
procedure TForm1.SyncForm;
begin
CheckBoxThemed.Checked := EasyListview1.Themed;
CheckBoxSelLinearSelect.Checked := EasyListview1.Selection.RectSelect;
CheckBoxSelDragRect.Checked := EasyListview1.Selection.EnableDragSelect;
CheckBoxShowHeader.Checked := EasyListview1.Header.Visible;
TrackBarSelBlendAlpha.Position := EasyListview1.Selection.BlendAlphaSelRect;
LabelSelBlendAlpha.Caption := IntToStr(TrackBarSelBlendAlpha.Position);
CheckBoxSelEnabled.Checked := EasyListview1.Selection.Enabled;
CheckBoxShowFocusRect.Checked := EasyListview1.Selection.UseFocusRect;
CheckBoxSelFullRow.Checked := EasyListview1.Selection.FullRowSelect;
CheckBoxSelMulti.Checked := EasyListview1.Selection.MultiSelect;
CheckBoxSelAlphaBlend.Checked := EasyListview1.Selection.AlphaBlend;
CheckBoxSelAlphaRect.Checked := EasyListview1.Selection.AlphaBlendSelRect;
CheckBoxSelRound.Checked := EasyListview1.Selection.RoundRect;
CheckBoxSelAutoScroll.Checked := EasyListview1.Selection.AutoScroll;
CheckBoxSelMouseButtonL.Checked := cmbLeft in EasyListview1.Selection.MouseButton;
CheckBoxSelMouseButtonR.Checked := cmbRight in EasyListview1.Selection.MouseButton;
CheckBoxSelRectMouseButtonM.Checked := cmbMiddle in EasyListview1.Selection.MouseButtonSelRect;
CheckBoxSelRectMouseButtonL.Checked := cmbLeft in EasyListview1.Selection.MouseButtonSelRect;
CheckBoxSelRectMouseButtonR.Checked := cmbRight in EasyListview1.Selection.MouseButtonSelRect;
CheckBoxSelMouseButtonM.Checked := cmbMiddle in EasyListview1.Selection.MouseButton;
EditSelAccel.Text := IntToStr( EasyListview1.Selection.AutoScrollAccelerator);
EditSelScrollDelay.Text := IntToStr(EasyListview1.Selection.AutoScrollDelay);
EditSelEdgeMargin.Text := IntToStr(EasyListview1.Selection.AutoScrollMargin);
EditSelScrollTime.Text := IntToStr( EasyListview1.Selection.AutoScrollTime);
PanelSelBorderColor.Color := EasyListview1.Selection.BorderColor;
PanelSelInactiveColor.Color := EasyListview1.Selection.InactiveColor;
PanelSelColor.Color := EasyListview1.Selection.Color;
PanelSelInactiveBorderColor.Color := EasyListview1.Selection.InactiveBorderColor;
PanelSelTextColor.Color := EasyListview1.Selection.TextColor;
PanelSelInactiveTextColor.Color := EasyListview1.Selection.InactiveTextColor;
PanelSelRectBlendColor.Color := EasyListview1.Selection.BlendColorSelRect;
PanelSelRectBorderColor.Color := EasyListview1.Selection.BorderColorSelRect;
CheckBoxHeaderHotTrack.Checked := EasyListview1.PaintInfoColumn.HotTrack;
CheckBoxHeaderSizeable.Checked := EasyListview1.Header.Sizeable;
TrackBarSizeIconWidth.Position := EasyListview1.CellSizes.Icon.Width;
TrackBarSizeIconHeight.Position := EasyListview1.CellSizes.Icon.Height;
TrackBarSizeIconSmallWidth.Position := EasyListview1.CellSizes.SmallIcon.Width;
TrackBarSizeIconSmallHeight.Position := EasyListview1.CellSizes.SmallIcon.Height;
TrackBarSizeListWidth.Position := EasyListview1.CellSizes.List.Width;
TrackBarSizeListHeight.Position := EasyListview1.CellSizes.List.Height;
TrackBarSizeThumbsWidth.Position := EasyListview1.CellSizes.Thumbnail.Width;
TrackBarSizeThumbsHeight.Position := EasyListview1.CellSizes.Thumbnail.Height;
TrackBarSizeTilesWidth.Position := EasyListview1.CellSizes.Tile.Width;
TrackBarSizeTilesHeight.Position := EasyListview1.CellSizes.Tile.Height;
TrackBarSizeReportWidth.Position := EasyListview1.CellSizes.Report.Width;
TrackBarSizeReportHeight.Position := EasyListview1.CellSizes.Report.Height;
EasyListview1.Selection.AutoScrollAccelerator := StrToInt(EditSelAccel.Text);
EasyListview1.Selection.AutoScrollDelay := StrToInt(EditSelScrollDelay.Text);
EasyListview1.Selection.AutoScrollMargin := StrToInt(EditSelEdgeMargin.Text);
EasyListview1.Selection.AutoScrollTime := StrToInt(EditSelScrollTime.Text);
CheckBoxResizeGroup.Checked := EasyListview1.Selection.ResizeGroupOnFocus;
CheckBoxBlendIcon.Checked := EasyListview1.Selection.BlendIcon;
CheckBoxShowGroupMargins.Checked := EasyListview1.ShowGroupMargins;
CheckBoxHeaderDraggable.Checked := EasyListview1.Header.Draggable;
CheckBoxDragDrop.Checked := EasyListview1.DragManager.Enabled;
TrackBarSelTextBlendAlpha.Position := EasyListview1.Selection.BlendAlphaTextRect;
CheckBoxSelectionBlurBkGnd.Checked := EasyListview1.Selection.BlurAlphaBkGnd;
TrackBarSelTextBlendAlpha.Enabled := CheckBoxSelAlphaBlend.Checked;
Label9.Enabled := CheckBoxSelAlphaBlend.Checked;
Label44.Enabled := CheckBoxSelAlphaBlend.Checked;
LabelBlendAlphaTextRect.Enabled := CheckBoxSelAlphaBlend.Checked;
GroupBox1.Enabled := CheckBoxSelAlphaRect.Checked;
Label6.Enabled := CheckBoxSelAlphaRect.Checked;
TrackBarSelBlendAlpha.Enabled := CheckBoxSelAlphaRect.Checked;
PanelSelRectBlendColor.Enabled := CheckBoxSelAlphaRect.Checked;
Label7.Enabled := CheckBoxSelAlphaRect.Checked;
PanelSelRectBorderColor.Enabled := CheckBoxSelAlphaRect.Checked;
Label15.Enabled := CheckBoxSelAlphaRect.Checked;
LabelSelBlendAlpha.Enabled := CheckBoxSelAlphaRect.Checked;
CheckBoxSelRectMouseButtonL.Enabled := CheckBoxSelAlphaRect.Checked;
CheckBoxSelRectMouseButtonM.Enabled := CheckBoxSelAlphaRect.Checked;
CheckBoxSelRectMouseButtonR.Enabled := CheckBoxSelAlphaRect.Checked;
end;
procedure TForm1.InvalidateLV;
begin
EasyListview1.Invalidate;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Group: TEasyGroup;
Column: TEasyColumn;
i, j, ItemCount: Integer;
A: Int64;
begin
FRebuildOnce := True;
A := GetTickCount;
Screen.Cursor := crHourglass;
// Setting ReIndex to False will increase the speed items are added to EasyListview
// but renders the Index Property invalide until EndUpdate is called
EasyListview1.BeginUpdate();
EasyListview1.Groups.ReIndexDisable := True;
try
EasyListview1.Groups.Clear;
EasyListview1.Header.Columns.Clear;
for i := 0 to StrToInt(EditColumnCount.Text) - 1 do
begin
Column := EasyListview1.Header.Columns.AddVirtual;
Column.Width := 150;
Column.DropDownButton.Visible := CheckBoxHeaderDropDownArrow.Checked;
Column.DropDownButton.AlwaysShow := CheckBoxDropDownArrowAlwaysShow.Checked;
Column.DropDownButton.Menu := PopupMenuColumnDropDownButtonMenu;
end;
// Image and Text info filled in on demand in OnItemInitialize, OnGroupInitialze
for j := 0 to StrToInt(EditGroupCount.Text) - 1 do
begin
Group := EasyListview1.Groups.AddVirtual;
if CheckBoxRandomizeItemCount.Checked then
ItemCount := Random(StrToInt(EditItemCount.Text) + 1)
else
ItemCount := StrToInt(EditItemCount.Text);
for i := 0 to ItemCount - 1 do
Group.Items.AddVirtual;
end;
finally
EasyListview1.Groups.ReIndexDisable := False;
EasyListview1.EndUpdate;
StatusBar1.Panels[0].Text := 'Elapsed Time: ' + IntToStr(GetTickCount - A);
Screen.Cursor := crDefault
end
end;
procedure TForm1.FormShow(Sender: TObject);
begin
FillStringsWithEasyListStyles(cbViews.Items);
cbViews.ItemIndex := Ord(EAsyListview1.View);
Imagelists.UseImagesForListview(EasyListview1);
SyncForm;
SyncGroupsTab;
cbViews.ItemIndex := 0;
ComboBoxItemItemCheckType.ItemIndex := 0;
ComboBoxItemGroupCheckType.ItemIndex := 0;
ComboBoxItemColumnCheckType.ItemIndex := 0;
EditIncrementalSearchResetTime.Text := IntToStr(EasyListview1.IncrementalSearch.ResetTime);
ComboBoxIncrementalSearchStartType.ItemIndex := Integer(EasyListview1.IncrementalSearch.StartType);
ComboBoxIncrementalSearchType.ItemIndex := Integer(EasyListview1.IncrementalSearch.ItemType);
RadioGroupIncrementalSearchDir.ItemIndex := Integer(EasyListview1.IncrementalSearch.Direction);
CheckBoxIncrementalSearchEnable.Checked := EasyListview1.IncrementalSearch.Enabled;
LabelQuery.Caption := '';
LabelItemIndex.Caption := '';
CheckBoxDragDropEnabled.Checked := EasyListview1.DragManager.Enabled;
CheckBoxHotTrackEnable.Checked := EasyListview1.HotTrack.Enabled;
CheckBoxGroupHitIcon.Checked := htgIcon in EasyListview1.HotTrack.GroupTrack;
CheckBoxGroupHitText.Checked := htgText in EasyListview1.HotTrack.GroupTrack;
CheckBoxGroupHitTop.Checked := htgTopMargin in EasyListview1.HotTrack.GroupTrack;
CheckBoxGroupHitBottom.Checked := htgBottomMargin in EasyListview1.HotTrack.GroupTrack;
CheckBoxGroupHitLeft.Checked := htgLeftMargin in EasyListview1.HotTrack.GroupTrack;
CheckBoxGroupHitRight.Checked := htgRightMargin in EasyListview1.HotTrack.GroupTrack;
CheckBoxGroupHitAnyWhere.Checked := htgAnyWhere in EasyListview1.HotTrack.GroupTrack;
CheckBoxItemHitIcon.Checked := htiIcon in EasyListview1.HotTrack.ItemTrack;
CheckBoxItemHitText.Checked := htiText in EasyListview1.HotTrack.ItemTrack;
CheckBoxItemHitAnyWhere.Checked := htiAnyWhere in EasyListview1.HotTrack.ItemTrack;
CheckBoxUnderLineText.Checked := EasyListview1.HotTrack.Underline;
CheckBoxHotTrackFocusOnly.Checked := EasyListview1.HotTrack.OnlyFocused;
PanelGradientTop.Color := EasyListview1.Selection.GradientColorTop;
PanelGradientBottom.Color := EasyListview1.Selection.GradientColorBottom;
CheckBoxBkGndCaptionSingleLine.Checked := EasyListview1.BackGround.CaptionSingleLine;
CheckBoxBkGndCaptionOnlyWhenEmpty.Checked := EasyListview1.BackGround.CaptionShowOnlyWhenEmpty;
RadioGroupBkGndCaptionVAlignment.ItemIndex := Integer(EasyListview1.BackGround.CaptionVAlignment);
RadioGroupBkGndCaptionAlignment.ItemIndex := Integer(EasyListview1.BackGround.CaptionAlignment);
EditBkGndCaption.Text := EasyListview1.BackGround.Caption;
CheckBoxBkGndTile.Checked := EasyListview1.BackGround.Tile;
CheckBoxBkGndTransparent.Checked := EasyListview1.BackGround.Transparent;
TrackBarBkGndYOffset.Position := EasyListview1.BackGround.OffsetY;
TrackBarBkGndXOffset.Position := EasyListview1.BackGround.OffsetX;
TrackBarBkGndYOffset.Max := Screen.Height;
TrackBarBkGndYOffset.Frequency := TrackBarBkGndYOffset.Max div 10;
TrackBarBkGndXOffset.Max := Screen.Width;
TrackBarBkGndXOffset.Frequency := TrackBarBkGndXOffset.Max div 10;
CheckBoxTrackOffsets.Checked := EasyListview1.BackGround.OffsetTrack;
TrackBarCustomDrawBkGnd.Position := 128;
EditHeight.Text := IntToStr(EasyListview1.Header.Height);
RadioGroupGroupHAlign.ItemIndex := Integer( EasyListview1.PaintInfoGroup.Alignment);
RadioGroupGroupVAlign.ItemIndex := Integer( EasyListview1.PaintInfoGroup.VAlignment);
EditBandIndent.Text := IntToStr(EasyListview1.PaintInfoGroup.BandIndent);
EditGroupMarginTop.Text := IntToStr(EasyListview1.PaintInfoGroup.MarginTop.Size);
EditGroupMarginBottom.Text := IntToStr(EasyListview1.PaintInfoGroup.MarginBottom.Size);
EditGroupMarginRight.Text := IntToStr(EasyListview1.PaintInfoGroup.MarginRight.Size);
EditGroupMarginLeft.Text := IntToStr(EasyListview1.PaintInfoGroup.MarginLeft.Size);
end;
procedure TForm1.CheckBoxThemedClick(Sender: TObject);
begin
EasyListview1.Themed := CheckBoxThemed.Checked
end;
procedure TForm1.CheckBoxHideItemsClick(Sender: TObject);
var
i, j : Integer;
begin
EasyListview1.Groups.BeginUpdate(False);
try
for i := 0 to EasyListview1.Groups.Count - 1 do
for j := 0 to EasyListview1.Groups[i].Items.Count - 1 do
EasyListview1.Groups[i].Items[j].Visible := not CheckBoxVisHideItems.Checked
finally
EasyListview1.Groups.EndUpdate
end
end;
procedure TForm1.EasyListview1ItemVisibilityChanged(
Sender: TCustomEasyListview; Item: TEasyItem);
begin Exit;
if EasyListview1.Groups.Count > 0 then
Statusbar1.Panels[1].Text := 'Visible Items in Group[0] = ' + IntToStr(EasyListview1.Groups[0].VisibleCount)
else
Statusbar1.Panels[1].Text := 'Visible Items in Group[0] = ';
end;
procedure TForm1.EasyListview1ItemSelectionChanged(
Sender: TCustomEasyListview; Item: TEasyItem);
begin
if CheckBoxTrackSelections.Checked then
Statusbar1.Panels[2].Text := 'Checked Items = ' + IntToStr(EasyListview1.Selection.Count);
end;
procedure TForm1.cbViewsChange(Sender: TObject);
begin
EasyListview1.View := TEasyListStyle(cbViews.ItemIndex);
end;
procedure TForm1.Chnge(Sender: TObject);
begin
EasyListview1.Groups.BeginUpdate(False);
try
EasyListview1.PaintInfoItem.CheckType := TEasyCheckType(ComboBoxItemItemCheckType.ItemIndex);
finally
EasyListview1.Groups.EndUpdate
end
end;
procedure TForm1.CheckBoxShowHeaderClick(Sender: TObject);
begin
EasyListview1.Header.Visible := CheckBoxShowHeader.Checked;
InvalidateLV
end;
procedure TForm1.TrackBarSelBlendAlphaChange(Sender: TObject);
begin
LabelSelBlendAlpha.Caption := IntToStr(TrackBarSelBlendAlpha.Position);
EasyListview1.Selection.BlendAlphaSelRect := TrackBarSelBlendAlpha.Position;
InvalidateLV
end;
procedure TForm1.CheckBoxSelEnabledClick(Sender: TObject);
begin
EasyListview1.Selection.Enabled := CheckBoxSelEnabled.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxShowFocusRectClick(Sender: TObject);
begin
EasyListview1.Selection.UseFocusRect := CheckBoxShowFocusRect.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSelFullRowClick(Sender: TObject);
begin
EasyListview1.Selection.FullRowSelect := CheckBoxSelFullRow.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSelMultiClick(Sender: TObject);
begin
EasyListview1.Selection.MultiSelect := CheckBoxSelMulti.Checked;
SyncForm;
InvalidateLV
end;
procedure TForm1.CheckBoxSelDragRectClick(Sender: TObject);
begin
EasyListview1.Selection.EnableDragSelect := CheckBoxSelDragRect.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSelAlphaBlendClick(Sender: TObject);
begin
EasyListview1.Selection.AlphaBlend := CheckBoxSelAlphaBlend.Checked;
TrackBarSelTextBlendAlpha.Enabled := CheckBoxSelAlphaBlend.Checked;
Label9.Enabled := CheckBoxSelAlphaBlend.Checked;
Label44.Enabled := CheckBoxSelAlphaBlend.Checked;
LabelBlendAlphaTextRect.Enabled := CheckBoxSelAlphaBlend.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSelAlphaRectClick(Sender: TObject);
begin
EasyListview1.Selection.AlphaBlendSelRect := CheckBoxSelAlphaRect.Checked;
GroupBox1.Enabled := CheckBoxSelAlphaRect.Checked;
Label6.Enabled := CheckBoxSelAlphaRect.Checked;
TrackBarSelBlendAlpha.Enabled := CheckBoxSelAlphaRect.Checked;
PanelSelRectBlendColor.Enabled := CheckBoxSelAlphaRect.Checked;
Label7.Enabled := CheckBoxSelAlphaRect.Checked;
PanelSelRectBorderColor.Enabled := CheckBoxSelAlphaRect.Checked;
Label15.Enabled := CheckBoxSelAlphaRect.Checked;
LabelSelBlendAlpha.Enabled := CheckBoxSelAlphaRect.Checked;
CheckBoxSelRectMouseButtonL.Enabled := CheckBoxSelAlphaRect.Checked;
CheckBoxSelRectMouseButtonM.Enabled := CheckBoxSelAlphaRect.Checked;
CheckBoxSelRectMouseButtonR.Enabled := CheckBoxSelAlphaRect.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSelRoundClick(Sender: TObject);
begin
EasyListview1.Selection.RoundRect := CheckBoxSelRound.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSelAutoScrollClick(Sender: TObject);
begin
EasyListview1.Selection.AutoScroll := CheckBoxSelAutoScroll.Checked
end;
procedure TForm1.EditSelExit(Sender: TObject);
begin
SyncForm
end;
procedure TForm1.EditSelScrollDelayKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
SyncForm;
Key := #0
end
end;
function TForm1.ChangeColor(Panel: TPanel): TColor;
begin
Result := Panel.Color;
ColorDialog1.Color := Panel.Color;
if ColorDialog1.Execute then
begin
Panel.Color := ColorDialog1.Color;
Result := ColorDialog1.Color;
EasyListview1.Invalidate
end
end;
procedure TForm1.PanelSelBorderColorClick(Sender: TObject);
begin
EasyListview1.Selection.BorderColor := ChangeColor(PanelSelBorderColor)
end;
procedure TForm1.PanelSelInactiveColorClick(Sender: TObject);
begin
EasyListview1.Selection.InactiveColor := ChangeColor(PanelSelInactiveColor)
end;
procedure TForm1.PanelSelColorClick(Sender: TObject);
begin
EasyListview1.Selection.Color := ChangeColor(PanelSelColor)
end;
procedure TForm1.PanelSelInactiveBorderColorClick(Sender: TObject);
begin
EasyListview1.Selection.InactiveBorderColor := ChangeColor(PanelSelInactiveBorderColor)
end;
procedure TForm1.PanelSelTextColorClick(Sender: TObject);
begin
EasyListview1.Selection.TextColor := ChangeColor(PanelSelTextColor)
end;
procedure TForm1.PanelSelInactiveTextColorClick(Sender: TObject);
begin
EasyListview1.Selection.InactiveTextColor := ChangeColor(PanelSelInactiveTextColor)
end;
procedure TForm1.PanelSelRectBlendColorClick(Sender: TObject);
begin
EasyListview1.Selection.BlendColorSelRect := ChangeColor(PanelSelRectBlendColor)
end;
procedure TForm1.PanelSelRectBorderColorClick(Sender: TObject);
begin
EasyListview1.Selection.BorderColorSelRect := ChangeColor(PanelSelRectBorderColor)
end;
procedure TForm1.ButtonSelFirstClick(Sender: TObject);
var
s: string;
begin
SelectionItem := EasyListview1.Selection.First;
if Assigned(SelectionItem) then
begin
s := 'Item Found. Caption: ' + SelectionItem.Captions[0];
MessageBox(Handle, PChar(s), 'Found Item', MB_OK);
end else
MessageBox(Handle, 'No Items found Selected', 'Notice', MB_OK);
end;
procedure TForm1.ButtonSelNextClick(Sender: TObject);
var
s: string;
begin
SelectionItem := EasyListview1.Selection.Next(SelectionItem);
if Assigned(SelectionItem) then
begin
s := 'Item Found. Caption: ' + SelectionItem.Captions[0];
MessageBox(Handle, PChar(s), 'Found Item', MB_OK);
end else
MessageBox(Handle, 'No Items found Selected', 'Notice', MB_OK);
end;
procedure TForm1.ButtonSelFirstInGoupClick(Sender: TObject);
var
s: string;
i: Integer;
begin
i := StrToInt(EditSelGroup.Text);
if i < EasyListview1.Groups.Count then
begin
SelectionGroup := EasyListview1.Groups[i];
SelectionItem := EasyListview1.Selection.FirstInGroup(SelectionGroup);
if Assigned(SelectionItem) then
begin
s := 'Item Found. Caption: ' + SelectionItem.Captions[0];
MessageBox(Handle, PChar(s), 'Found Item', MB_OK);
end else
MessageBox(Handle, 'No Items found Selected', 'Notice', MB_OK);
end else
MessageBox(Handle, 'Group Index out of Range', 'Notice', MB_OK);
end;
procedure TForm1.ButtonSelNextInGroupClick(Sender: TObject);
var
s: string;
begin
if Assigned(SelectionGroup) then
begin
SelectionItem := EasyListview1.Selection.NextInGroup(SelectionGroup, SelectionItem);
if Assigned(SelectionItem) then
begin
s := 'Item Found. Caption: ' + SelectionItem.Captions[0];
MessageBox(Handle, PChar(s), 'Found Item', MB_OK);
end else
MessageBox(Handle, 'No Items found Selected', 'Notice', MB_OK);
end else
MessageBox(Handle, 'Group Index out of Range', 'Notice', MB_OK);
end;
procedure TForm1.EasyListview1ItemFreeing(Sender: TCustomEasyListview;
Item: TEasyItem);
begin
if Item = SelectionItem then
SelectionItem := nil;
end;
procedure TForm1.EasyListview1GroupFreeing(Sender: TCustomEasyListview;
Group: TEasyGroup);
begin
if Group = SelectionGroup then
SelectionGroup := nil;
end;
procedure TForm1.ButtonSelAllClick(Sender: TObject);
begin
EasyListview1.Selection.SelectAll;
end;
procedure TForm1.ButtonSelClearClick(Sender: TObject);
begin
EasyListview1.Selection.ClearAll;
end;
procedure TForm1.ButtonSelInvertClick(Sender: TObject);
begin
EasyListview1.Selection.Invert
end;
procedure TForm1.CheckBoxVisHideItemsClick(Sender: TObject);
var
i, j: Integer;
begin
EasyListview1.BeginUpdate;
try
if CheckBoxVisHideItems.Checked then
begin
for i := 0 to EasyListview1.Groups.Count - 1 do
begin
for j := 0 to EasyListview1.Groups[i].Items.Count - 1 do
begin
if j mod 2 = 0 then
EasyListview1.Groups[i].Items[j].Visible := False
end;
end
end else
begin
for i := 0 to EasyListview1.Groups.Count - 1 do
begin
for j := 0 to EasyListview1.Groups[i].Items.Count - 1 do
EasyListview1.Groups[i].Items[j].Visible := True;
end
end
finally
EasyListview1.EndUpdate;
end
end;
procedure TForm1.CheckBoxVisHideGroupsClick(Sender: TObject);
var
i, j: Integer;
begin
EasyListview1.BeginUpdate;
try
if CheckBoxVisHideGroups.Checked then
begin
for i := 0 to EasyListview1.Groups.Count - 1 do
begin
if i mod 2 = 0 then
EasyListview1.Groups[i].Visible := False
end;
end else
begin
for i := 0 to EasyListview1.Groups.Count - 1 do
begin
EasyListview1.Groups[i].Visible := True;
if CheckBoxVisHideItems.Checked then
begin
for j := 0 to EasyListview1.Groups[i].Items.Count - 1 do
if j mod 2 = 0 then
EasyListview1.Groups[i].Items[j].Visible := False
end
end
end
finally
EasyListview1.EndUpdate;
end
end;
procedure TForm1.CheckBoxSelLinearSelectClick(Sender: TObject);
begin
EasyListview1.Selection.RectSelect := CheckBoxSelLinearSelect.Checked
end;
procedure TForm1.EasyListview1GroupInitialize(Sender: TCustomEasyListview;
Group: TEasyGroup);
begin
Group.Caption := 'Group ' + IntToStr(Group.Index);
Group.ImageIndex := Random(Imagelists.ImageListGroups.Count);
end;
procedure TForm1.ComboBoxItemGroupCheckTypeChange(Sender: TObject);
begin
EasyListview1.Groups.BeginUpdate(False);
try
EasyListview1.PaintInfoGroup.CheckType := TEasyCheckType(ComboBoxItemGroupCheckType.ItemIndex);
finally
EasyListview1.Groups.EndUpdate
end
end;
procedure TForm1.ComboBoxItemColumnCheckTypeChange(Sender: TObject);
begin
EasyListview1.Groups.BeginUpdate(False);
try
EasyListview1.PaintInfoColumn.CheckType := TEasyCheckType(ComboBoxItemColumnCheckType.ItemIndex);
finally
EasyListview1.Groups.EndUpdate
end
end;
procedure TForm1.EasyListview1ColumnInitialize(Sender: TCustomEasyListview;
Column: TEasyColumn);
begin
Column.Caption := 'Caption: ' + IntToStr(Column.Index)
end;
procedure TForm1.EasyListview1ColumnClick(Sender: TCustomEasyListview;
Button: TCommonMouseButton; Column: TEasyColumn);
begin
// MessageBox(Handle, PChar('Clicked Column: ' + IntToStr(Column.Index)), 'Notice', MB_OK);
end;
procedure TForm1.EasyListview1ColumnSizeChanging(
Sender: TCustomEasyListview; Column: TEasyColumn; Width,
NewWidth: Integer; var Allow: Boolean);
begin
if CheckBoxMaxSizeWidth.Checked then
Allow := NewWidth < StrToInt(EditMaxSizeWidth.Text)
else
Allow := True
end;
procedure TForm1.CheckBoxMaxSizeWidthClick(Sender: TObject);
var
i, MaxWidth: Integer;
begin
EditMaxSizeWidth.Enabled := CheckBoxMaxSizeWidth.Checked;
if CheckBoxMaxSizeWidth.Checked then
begin
MaxWidth := StrToInt(EditMaxSizeWidth.Text);
for i := 0 to EasyListview1.Header.Columns.Count - 1 do
if EasyListview1.Header.Columns[i].Width > MaxWidth - 1 then
EasyListview1.Header.Columns[i].Width := MaxWidth - 1
end
end;
procedure TForm1.EasyListview1OLEDragStart(Sender: TCustomEasyListview;
ADataObject: IDataObject; var AvailableEffects: TCommonDropEffects;
var AllowDrag: Boolean);
begin
AllowDrag := True;
AvailableEffects := [cdeCopy]
end;
procedure TForm1.SyncGroupsTab;
begin
CheckBoxGroupExpandable.Checked := EasyListview1.PaintInfoGroup.Expandable;
CheckBoxBlendedBand.Checked := EasyListview1.PaintInfoGroup.BandBlended;
PanelBandStartColor.Color := EasyListview1.PaintInfoGroup.BandColor;
PanelBandFadeColor.Color := EasyListview1.PaintInfoGroup.BandColorFade;
EditBandWidth.Text := IntToStr(EasyListview1.PaintInfoGroup.BandThickness);
EditBandLength.Text := IntToStr(EasyListview1.PaintInfoGroup.BandLength);
EditBandMargin.Text := IntToStr(EasyListview1.PaintInfoGroup.BandMargin);
CheckBoxBandTracksWindow.Checked := EasyListview1.PaintInfoGroup.BandFullWidth;
CheckBoxMarginTop.Checked := EasyListview1.PaintInfoGroup.MarginTop.Visible;
CheckBoxMarginBottom.Checked := EasyListview1.PaintInfoGroup.MarginBottom.Visible;
CheckBoxMarginLeft.Checked := EasyListview1.PaintInfoGroup.MarginLeft.Visible;
CheckBoxMarginRight.Checked := EasyListview1.PaintInfoGroup.MarginRight.Visible;
end;
procedure TForm1.CheckBoxGroupExpandableClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.Expandable := CheckBoxGroupExpandable.Checked
end;
procedure TForm1.CheckBoxBlendedBandClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandBlended := CheckBoxBlendedBand.Checked
end;
procedure TForm1.PanelBandStartColorClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandColor := ChangeColor(PanelBandStartColor)
end;
procedure TForm1.PanelBandFadeColorClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandColorFade := ChangeColor(PanelBandFadeColor)
end;
procedure TForm1.EditBandWidthKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
EasyListview1.PaintInfoGroup.BandThickness := StrToInt(EditBandWidth.Text)
end;
end;
procedure TForm1.EditBandWidthExit(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandThickness := StrToInt(EditBandWidth.Text)
end;
procedure TForm1.EditBandLengthExit(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandLength := StrToInt(EditBandLength.Text)
end;
procedure TForm1.EditBandLengthKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
EasyListview1.PaintInfoGroup.BandLength := StrToInt(EditBandLength.Text)
end;
end;
procedure TForm1.CheckBoxBandTracksWindowClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandFullWidth := CheckBoxBandTracksWindow.Checked
end;
procedure TForm1.CheckBoxMarginTopClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.MarginTop.Visible := CheckBoxMarginTop.Checked
end;
procedure TForm1.CheckBoxMarginBottomClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.MarginBottom.Visible := CheckBoxMarginBottom.Checked
end;
procedure TForm1.CheckBoxMarginLeftClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.MarginLeft.Visible := CheckBoxMarginLeft.Checked
end;
procedure TForm1.CheckBoxMarginRightClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.MarginRight.Visible := CheckBoxMarginRight.Checked
end;
procedure TForm1.CheckBoxSelMouseButtonLClick(Sender: TObject);
begin
if CheckBoxSelMouseButtonL.Checked then
EasyListview1.Selection.MouseButton := EasyListview1.Selection.MouseButton + [cmbLeft]
else
EasyListview1.Selection.MouseButton := EasyListview1.Selection.MouseButton - [cmbLeft]
end;
procedure TForm1.CheckBoxSelMouseButtonRClick(Sender: TObject);
begin
if CheckBoxSelMouseButtonR.Checked then
EasyListview1.Selection.MouseButton := EasyListview1.Selection.MouseButton + [cmbRight]
else
EasyListview1.Selection.MouseButton := EasyListview1.Selection.MouseButton - [cmbRight]
end;
procedure TForm1.CheckBoxSelMouseButtonMClick(Sender: TObject);
begin
if CheckBoxSelMouseButtonM.Checked then
EasyListview1.Selection.MouseButton := EasyListview1.Selection.MouseButton + [cmbMiddle]
else
EasyListview1.Selection.MouseButton := EasyListview1.Selection.MouseButton - [cmbMiddle]
end;
procedure TForm1.CheckBoxSelRectMouseButtonLClick(Sender: TObject);
begin
if CheckBoxSelRectMouseButtonL.Checked then
EasyListview1.Selection.MouseButtonSelRect := EasyListview1.Selection.MouseButtonSelRect + [cmbLeft]
else
EasyListview1.Selection.MouseButtonSelRect := EasyListview1.Selection.MouseButtonSelRect - [cmbLeft]
end;
procedure TForm1.CheckBoxSelRectMouseButtonRClick(Sender: TObject);
begin
if CheckBoxSelRectMouseButtonR.Checked then
EasyListview1.Selection.MouseButtonSelRect := EasyListview1.Selection.MouseButtonSelRect + [cmbRight]
else
EasyListview1.Selection.MouseButtonSelRect := EasyListview1.Selection.MouseButtonSelRect - [cmbRight]
end;
procedure TForm1.CheckBoxSelRectMouseButtonMClick(Sender: TObject);
begin
if CheckBoxSelRectMouseButtonM.Checked then
EasyListview1.Selection.MouseButtonSelRect := EasyListview1.Selection.MouseButtonSelRect + [cmbMiddle]
else
EasyListview1.Selection.MouseButtonSelRect := EasyListview1.Selection.MouseButtonSelRect - [cmbMiddle]
end;
procedure TForm1.CheckBoxHeaderHotTrackClick(Sender: TObject);
begin
EasyListview1.PaintInfoColumn.HotTrack := CheckBoxHeaderHotTrack.Checked
end;
procedure TForm1.CheckBoxHeaderSizeableClick(Sender: TObject);
begin
EasyListview1.Header.Sizeable := CheckBoxHeaderSizeable.Checked
end;
procedure TForm1.CheckBoxHeaderClickableClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to EasyListview1.Header.Columns.Count - 1 do
EasyListview1.Header.Columns[i].Clickable := CheckBoxHeaderClickable.Checked;
end;
procedure TForm1.CheckBoxFullItemSelectClick(Sender: TObject);
begin
EasyListview1.Selection.FullItemPaint := CheckBoxFullItemSelect.Checked
end;
procedure TForm1.CheckBoxFullCellSelectClick(Sender: TObject);
begin
EasyListview1.Selection.FullCellPaint := CheckBoxFullCellSelect.Checked
end;
procedure TForm1.CheckBoxGroupSelectionClick(Sender: TObject);
begin
EasyListview1.Selection.GroupSelections := CheckBoxGroupSelection.Checked
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
EasyListview1.Groups.ReIndexDisable := True;
EasyListview1.Groups.Clear;
EasyListview1.Groups.ReIndexDisable := False;
EasyListview1.Header.Columns.Clear;
end;
procedure TForm1.EditSelRoundRadiusKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
EasyListview1.Selection.RoundRectRadius := StrToInt(EditSelRoundRadius.Text);
InvalidateLV;
Key := #0
end
end;
procedure TForm1.EditSelRoundRadiusExit(Sender: TObject);
begin
EasyListview1.Selection.RoundRectRadius := StrToInt(EditSelRoundRadius.Text);
InvalidateLV
end;
procedure TForm1.ButtonSizeResetClick(Sender: TObject);
begin
TrackBarSizeIconWidth.Position := 75;
TrackBarSizeIconHeight.Position := 75;
TrackBarSizeIconSmallWidth.Position := 200;
TrackBarSizeIconSmallHeight.Position := 17;
TrackBarSizeListHeight.Position := 17;
TrackBarSizeListWidth.Position := 200;
TrackBarSizeThumbsWidth.Position := 125;
TrackBarSizethumbsHeight.Position := 143;
TrackBarSizeTilesWidth.Position := 218;
TrackBarSizeTilesHeight.Position := 58;
TrackBarSizeReportWidth.Position := 75;
TrackBarSizeReportHeight.Position := 17;
end;
procedure TForm1.TrackBarSizeIconWidthChange(Sender: TObject);
begin
LabelIconSizeWidth.Caption := IntToStr(TrackBarSizeIconWidth.Position);
EasyListview1.CellSizes.Icon.Width := TrackBarSizeIconWidth.Position
end;
procedure TForm1.TrackBarSizeIconHeightChange(Sender: TObject);
begin
LabelIconSizeHeight.Caption := IntToStr(TrackBarSizeIconHeight.Position);
EasyListview1.CellSizes.Icon.Height := TrackBarSizeIconHeight.Position
end;
procedure TForm1.TrackBarSizeIconSmallWidthChange(Sender: TObject);
begin
LabelSmallIconSizeWidth.Caption := IntToStr(TrackBarSizeIconSmallWidth.Position);
EasyListview1.CellSizes.SmallIcon.Width := TrackBarSizeIconSmallWidth.Position
end;
procedure TForm1.TrackBarSizeIconSmallHeightChange(Sender: TObject);
begin
LabelSmallIconSizeHeight.Caption := IntToStr(TrackBarSizeIconSmallHeight.Position);
EasyListview1.CellSizes.SmallIcon.Height := TrackBarSizeIconSmallHeight.Position
end;
procedure TForm1.TrackBarSizeListWidthChange(Sender: TObject);
begin
LabelListSizeWidth.Caption := IntToStr(TrackBarSizeListWidth.Position);
EasyListview1.CellSizes.List.Width := TrackBarSizeListWidth.Position
end;
procedure TForm1.TrackBarSizeListHeightChange(Sender: TObject);
begin
LabelListSizeHeight.Caption := IntToStr(TrackBarSizeListHeight.Position);
EasyListview1.CellSizes.List.Height := TrackBarSizeListHeight.Position
end;
procedure TForm1.TrackBarSizeThumbsWidthChange(Sender: TObject);
begin
LabelThumbSizeWidth.Caption := IntToStr(TrackBarSizeThumbsWidth.Position);
EasyListview1.CellSizes.Thumbnail.Width := TrackBarSizeThumbsWidth.Position
end;
procedure TForm1.TrackBarSizeThumbsHeightChange(Sender: TObject);
begin
LabelThumbSizeHeight.Caption := IntToStr(TrackBarSizeThumbsHeight.Position);
EasyListview1.CellSizes.Thumbnail.Height := TrackBarSizeThumbsHeight.Position
end;
procedure TForm1.TrackBarSizeTilesWidthChange(Sender: TObject);
begin
LabelTileSizeWidth.Caption := IntToStr(TrackBarSizeTilesWidth.Position);
EasyListview1.CellSizes.Tile.Width := TrackBarSizeTilesWidth.Position
end;
procedure TForm1.TrackBarSizeTilesHeightChange(Sender: TObject);
begin
LabelTileSizeHeight.Caption := IntToStr(TrackBarSizeTilesHeight.Position);
EasyListview1.CellSizes.Tile.Height := TrackBarSizeTilesHeight.Position
end;
procedure TForm1.TrackBarSizeReportWidthChange(Sender: TObject);
begin
LabelReportSizeWidth.Caption := IntToStr(TrackBarSizeReportWidth.Position);
EasyListview1.CellSizes.Report.Width := TrackBarSizeReportWidth.Position
end;
procedure TForm1.TrackBarSizeReportHeightChange(Sender: TObject);
begin
LabelReportSizeHeight.Caption := IntToStr(TrackBarSizeReportHeight.Position);
EasyListview1.CellSizes.Report.Height := TrackBarSizeReportHeight.Position
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialogStream.Filter := 'Stream Data Files (*.dat)|*.DAT';
SaveDialogStream.DefaultExt := '.dat';
if SaveDialogStream.Execute then
EasyListview1.SaveToFile(SaveDialogStream.FileName, fmCreate or fmShareExclusive);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
OpenDialogStream.Filter := 'Stream Data Files (*.dat)|*.DAT';
OpenDialogStream.DefaultExt := '.dat';
if OpenDialogStream.Execute then
begin
EasyListview1.LoadFromFile(OpenDialogStream.FileName, fmOpenRead or fmShareExclusive);
SyncForm
end
end;
procedure TForm1.ButtonExpandAllClick(Sender: TObject);
begin
EasyListview1.Groups.ExpandAll
end;
procedure TForm1.ButtonCollapseAllClick(Sender: TObject);
begin
EasyListview1.Groups.CollapseAll
end;
procedure TForm1.EasyListview1ItemGetImageIndex(
Sender: TCustomEasyListview; const Item: TEasyItem; Column: Integer;
ImageKind: TEasyImageKind; var ImageIndex: TCommonImageIndexInteger);
begin
if (ImageKind = eikNormal) and (Column < 1) then
ImageIndex := Item.Index mod ImageLists.ImageListSmall.Count
else
if (ImageKind = eikState) and CheckBoxStateImages.Checked and (Column < 1) then
ImageIndex := Item.Index mod ImageListState.Count
end;
procedure TForm1.EasyListview1GroupGetCaption(Sender: TCustomEasyListview;
const Group: TEasyGroup; var Caption: WideString);
begin
Caption := 'Group: ' + IntToStr(Group.Index)
end;
procedure TForm1.EasyListview1GroupGetImageIndex(
Sender: TCustomEasyListview; const Group: TEasyGroup;
ImageKind: TEasyImageKind; var ImageIndex: TCommonImageIndexInteger);
begin
if ImageKind = eikNormal then
ImageIndex := Group.Index mod ImageLists.ImageListGroups.Count
end;
procedure TForm1.EasyListview1ColumnGetImageIndex(
Sender: TCustomEasyListview; const Column: TEasyColumn;
ImageKind: TEasyImageKind; var ImageIndex: TCommonImageIndexInteger);
begin
if ImageKind = eikNormal then
ImageIndex := Column.Index mod ImageLists.ImageListSmall.Count
end;
procedure TForm1.CheckBoxResizeGroupClick(Sender: TObject);
begin
EasyListview1.Selection.ResizeGroupOnFocus := CheckBoxResizeGroup.Checked
end;
procedure TForm1.CheckBoxBlendIconClick(Sender: TObject);
begin
EasyListview1.Selection.BlendIcon := CheckBoxBlendIcon.Checked
end;
procedure TForm1.CheckBoxShowGroupMarginsClick(Sender: TObject);
begin
EasyListview1.ShowGroupMargins := CheckBoxShowGroupMargins.Checked
end;
procedure TForm1.EasyListview1ItemGetTileDetailCount(
Sender: TCustomEasyListview; const Item: TEasyItem; var Count: Integer);
begin
Count := StrToInt(EditTileDetailCount.Text);
end;
procedure TForm1.EasyListview1ItemGetTileDetail(
Sender: TCustomEasyListview; const Item: TEasyItem; Line: Integer;
var Detail: Integer);
begin
// Return the column to take the detail from
Detail := Line;
if Detail > EasyListview1.Header.Columns.Count - 1 then
Detail := 0;
end;
procedure TForm1.EditTileDetailCountExit(Sender: TObject);
begin
EasyListview1.Invalidate;
end;
procedure TForm1.EditTileDetailCountKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
EasyListview1.Invalidate;
Key := #0
end
end;
procedure TForm1.CheckBoxHeaderDraggableClick(Sender: TObject);
begin
EasyListview1.Header.Draggable := CheckBoxHeaderDraggable.Checked
end;
procedure TForm1.CheckBoxDragDropClick(Sender: TObject);
begin
EasyListview1.DragManager.Enabled := CheckBoxDragDrop.Checked
end;
procedure TForm1.EasyListview1OLEDragOver(Sender: TCustomEasyListview;
KeyState: TCommonKeyStates; WindowPt: TPoint;
AvailableEffects: TCommonDropEffects;
var DesiredDropEffect: TCommonDropEffect);
begin
DesiredDropEffect := cdeMove
end;
procedure TForm1.CheckBoxAutoToggleSortClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to EasyListview1.Header.Columns.Count - 1 do
begin
if not CheckBoxAutoToggleSort.Checked then
EasyListview1.Header.Columns[i].SortDirection := esdNone;
EasyListview1.Header.Columns[i].AutoToggleSortGlyph := CheckBoxAutoToggleSort.Checked;
end
end;
procedure TForm1.EasyListview1ColumnPaintText(Sender: TCustomEasyListview;
Column: TEasyColumn; ACanvas: TCanvas);
begin
if CheckBoxRandomHeaderCaptionColors.Checked then
ACanvas.Font.Color := Random(clWhite);
end;
procedure TForm1.EasyListview1GroupPaintText(Sender: TCustomEasyListview;
Group: TEasyGroup; ACanvas: TCanvas);
begin
if CheckBoxRandomGroupCaptionColor.Checked then
ACanvas.Font.Color := Random(clWhite);
end;
procedure TForm1.CheckBoxRandomItemCaptionColorClick(Sender: TObject);
begin
EasyListview1.Invalidate
end;
procedure TForm1.CheckBoxRandomGroupCaptionColorClick(Sender: TObject);
begin
EasyListview1.Invalidate
end;
procedure TForm1.CheckBoxRandomHeaderCaptionColorsClick(Sender: TObject);
begin
EasyListview1.Invalidate
end;
procedure TForm1.RadioGroupIncrementalSearchDirClick(Sender: TObject);
begin
EasyListview1.IncrementalSearch.Direction := TEasyIncrementalSearchDir(RadioGroupIncrementalSearchDir.ItemIndex)
end;
procedure TForm1.ComboBoxIncrementalSearchTypeChange(Sender: TObject);
begin
EasyListview1.IncrementalSearch.ItemType := TEasyIncrementalSearchItemType(ComboBoxIncrementalSearchType.ItemIndex)
end;
procedure TForm1.ComboBoxIncrementalSearchStartTypeChange(Sender: TObject);
begin
EasyListview1.IncrementalSearch.StartType := TCoolIncrementalSearchStart(ComboBoxIncrementalSearchStartType.ItemIndex)
end;
procedure TForm1.EditIncrementalSearchResetTimeKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
EasyListview1.IncrementalSearch.ResetTime := StrToInt(EditIncrementalSearchResetTime.Text);
Key := #0
end
end;
procedure TForm1.EditIncrementalSearchResetTimeExit(Sender: TObject);
begin
EasyListview1.IncrementalSearch.ResetTime := StrToInt(EditIncrementalSearchResetTime.Text)
end;
procedure TForm1.CheckBoxIncrementalSearchEnableClick(Sender: TObject);
begin
EasyListview1.IncrementalSearch.Enabled := CheckBoxIncrementalSearchEnable.Checked
end;
procedure TForm1.EasyListview1IncrementalSearch(Item: TEasyCollectionItem;
const SearchBuffer: WideString; var Handled: Boolean; var CompareResult: Integer);
begin
LabelQuery.Caption := SearchBuffer;
// Will automatically handle the search if we leave Handled to False
end;
procedure TForm1.CheckBoxDragDropEnabledClick(Sender: TObject);
begin
EasyListview1.DragManager.Enabled := CheckBoxDragDropEnabled.Checked
end;
procedure TForm1.TrackBarSelTextBlendAlphaChange(Sender: TObject);
begin
EasyListview1.Selection.BlendAlphaTextRect := TrackBarSelTextBlendAlpha.Position;
LabelBlendAlphaTextRect.Caption := IntToStr(TrackBarSelTextBlendAlpha.Position);
EasyListview1.Invalidate;
end;
procedure TForm1.EasyListview1GroupHotTrack(Sender: TCustomEasyListview;
Group: TEasyGroup; State: TEasyHotTrackState; MousePos: TPoint);
begin
if State = ehsEnable then
Label46.Caption := 'Group: ' + IntToStr(Group.Index) + ' Hot Tracking'
else
Label46.Caption := 'Group not Hot Tracking'
end;
procedure TForm1.EasyListview1ItemHotTrack(Sender: TCustomEasyListview;
Item: TEasyItem; State: TEasyHotTrackState; MousePos: TPoint);
begin
if State = ehsEnable then
Label48.Caption := 'Item: ' + IntToStr(Item.Index) + ' Hot Tracking'
else
Label48.Caption := 'Item not Hot Tracking'
end;
procedure TForm1.CheckBoxHotTrackEnableClick(Sender: TObject);
begin
EasyListview1.HotTrack.Enabled := CheckBoxHotTrackEnable.Checked
end;
procedure TForm1.CheckBoxGroupHitIconClick(Sender: TObject);
begin
if CheckBoxGroupHitIcon.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgIcon]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgIcon]
end;
procedure TForm1.CheckBoxGroupHitTextClick(Sender: TObject);
begin
if CheckBoxGroupHitText.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgText]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgText]
end;
procedure TForm1.CheckBoxGroupHitTopClick(Sender: TObject);
begin
if CheckBoxGroupHitTop.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgTopMargin]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgTopMargin]
end;
procedure TForm1.CheckBoxGroupHitBottomClick(Sender: TObject);
begin
if CheckBoxGroupHitBottom.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgBottomMargin]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgBottomMargin]
end;
procedure TForm1.CheckBoxGroupHitLeftClick(Sender: TObject);
begin
if CheckBoxGroupHitLeft.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgLeftMargin]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgLeftMargin]
end;
procedure TForm1.CheckBoxGroupHitRightClick(Sender: TObject);
begin
if CheckBoxGroupHitRight.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgRightMargin]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgRightMargin]
end;
procedure TForm1.CheckBoxGroupHitAnywhereClick(Sender: TObject);
begin
if CheckBoxGroupHitAnywhere.Checked then
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack + [htgAnyWhere]
else
EasyListview1.HotTrack.GroupTrack := EasyListview1.HotTrack.GroupTrack - [htgAnyWhere]
end;
procedure TForm1.CheckBoxItemHitIconClick(Sender: TObject);
begin
if CheckBoxItemHitIcon.Checked then
EasyListview1.HotTrack.ItemTrack := EasyListview1.HotTrack.ItemTrack + [htiIcon]
else
EasyListview1.HotTrack.ItemTrack := EasyListview1.HotTrack.ItemTrack - [htiIcon]
end;
procedure TForm1.CheckBoxItemHitTextClick(Sender: TObject);
begin
if CheckBoxItemHitText.Checked then
EasyListview1.HotTrack.ItemTrack := EasyListview1.HotTrack.ItemTrack + [htiText]
else
EasyListview1.HotTrack.ItemTrack := EasyListview1.HotTrack.ItemTrack - [htiText]
end;
procedure TForm1.CheckBoxItemHitAnyWhereClick(Sender: TObject);
begin
if CheckBoxItemHitAnyWhere.Checked then
EasyListview1.HotTrack.ItemTrack := EasyListview1.HotTrack.ItemTrack + [htiAnyWhere]
else
EasyListview1.HotTrack.ItemTrack := EasyListview1.HotTrack.ItemTrack - [htiAnyWhere]
end;
procedure TForm1.CheckBoxUnderLineTextClick(Sender: TObject);
begin
EasyListview1.HotTrack.Underline := CheckBoxUnderLineText.Checked
end;
procedure TForm1.CheckBoxHotTrackFocusOnlyClick(Sender: TObject);
begin
EasyListview1.HotTrack.OnlyFocused := CheckBoxHotTrackFocusOnly.Checked
end;
procedure TForm1.EasyListview1ItemPaintText(Sender: TCustomEasyListview;
Item: TEasyItem; Position: Integer; ACanvas: TCanvas);
begin
if CheckBoxRandomItemCaptionColor.Checked and not Item.Selected then
begin
case Item.ImageIndex of
0: ACanvas.Font.Color := (clGreen);
1: ACanvas.Font.Color := (clRed);
2: ACanvas.Font.Color := (clBlue);
end
end;
if (CheckBoxRedDetails.Checked) and (Position > 0) then
ACanvas.Font.Color := clRed;
end;
procedure TForm1.CheckBoxRedDetailsClick(Sender: TObject);
begin
EasyListview1.Invalidate;
end;
procedure TForm1.CheckBoxBkGndClick(Sender: TObject);
begin
EasyListview1.BackGround.Enabled := CheckBoxBkGnd.Checked
end;
procedure TForm1.CheckBoxHilightColumnClick(Sender: TObject);
begin
EasyListview1.PaintInfoColumn.HilightFocused := CheckBoxHilightColumn.Checked
end;
procedure TForm1.ButtonHilightColorClick(Sender: TObject);
begin
ColorDialog1.Color := EasyListview1.PaintInfoColumn.HilightFocusedColor;
if ColorDialog1.Execute then
EasyListview1.PaintInfoColumn.HilightFocusedColor := ColorDialog1.Color
end;
procedure TForm1.CheckBoxGridLinesClick(Sender: TObject);
begin
EasyListview1.PaintInfoItem.GridLines := CheckBoxGridLines.Checked
end;
procedure TForm1.ButtonGridLineColorClick(Sender: TObject);
begin
ColorDialog1.Color := EasyListview1.PaintInfoItem.GridLineColor;
if ColorDialog1.Execute then
EasyListview1.PaintInfoItem.GridLineColor := ColorDialog1.Color
end;
procedure TForm1.EasyListview1ItemGetCaption(Sender: TCustomEasyListview;
Item: TEasyItem; Column: Integer; var Caption: WideString);
begin
// Caption := 'Item'; Exit;
case Column of
0: Caption := 'Group: ' + IntToStr(Item.OwnerGroup.Index) +
' Item: ' + IntToStr(Item.Index) +
' Column: ' + IntToStr(Column) +
' Visible Index: ' + IntToStr(Item.VisibleIndex);
else
Caption := ' Column: ' + IntToStr(Column);
end;
end;
procedure TForm1.CheckBoxSelectionGradientClick(Sender: TObject);
begin
EasyListview1.Selection.Gradient := CheckBoxSelectionGradient.Checked
end;
procedure TForm1.PanelGradientTopClick(Sender: TObject);
begin
ColorDialog1.Color := EasyListview1.Selection.GradientColorTop;
if ColorDialog1.Execute then
begin
EasyListview1.Selection.GradientColorTop := ColorDialog1.Color;
PanelGradientTop.Color := ColorDialog1.Color;
end
end;
procedure TForm1.PanelGradientBottomClick(Sender: TObject);
begin
ColorDialog1.Color := EasyListview1.Selection.GradientColorBottom;
if ColorDialog1.Execute then
begin
EasyListview1.Selection.GradientColorBottom := ColorDialog1.Color;
PanelGradientBottom.Color := ColorDialog1.Color;
end
end;
procedure TForm1.CheckBoxSelectionBlurBkGndClick(Sender: TObject);
begin
EasyListview1.Selection.BlurAlphaBkGnd := CheckBoxSelectionBlurBkGnd.Checked
end;
procedure TForm1.CheckBoxBkGndTextClick(Sender: TObject);
begin
EasyListview1.BackGround.CaptionShow := CheckBoxBkGndText.Checked
end;
procedure TForm1.EditBkGndCaptionChange(Sender: TObject);
begin
EasyListview1.BackGround.Caption := EditBkGndCaption.Text
end;
procedure TForm1.RadioGroupBkGndCaptionAlignmentClick(Sender: TObject);
begin
EasyListview1.BackGround.CaptionAlignment := TAlignment(RadioGroupBkGndCaptionAlignment.ItemIndex)
end;
procedure TForm1.RadioGroupBkGndCaptionVAlignmentClick(Sender: TObject);
begin
EasyListview1.BackGround.CaptionVAlignment := TCommonVAlignment(RadioGroupBkGndCaptionVAlignment.ItemIndex)
end;
procedure TForm1.CheckBoxBkGndCaptionOnlyWhenEmptyClick(Sender: TObject);
begin
EasyListview1.BackGround.CaptionShowOnlyWhenEmpty := CheckBoxBkGndCaptionOnlyWhenEmpty.Checked
end;
procedure TForm1.CheckBoxBkGndCaptionSingleLineClick(Sender: TObject);
begin
EasyListview1.BackGround.CaptionSingleLine := CheckBoxBkGndCaptionSingleLine.Checked
end;
procedure TForm1.CheckBoxBkGndTileClick(Sender: TObject);
begin
EasyListview1.BackGround.Tile := CheckBoxBkGndTile.Checked
end;
procedure TForm1.CheckBoxBkGndTransparentClick(Sender: TObject);
begin
EasyListview1.BackGround.Transparent := CheckBoxBkGndTransparent.Checked
end;
procedure TForm1.TrackBarBkGndXOffsetChange(Sender: TObject);
begin
EasyListview1.BackGround.OffsetX := TrackBarBkGndXOffset.Position
end;
procedure TForm1.TrackBarBkGndYOffsetChange(Sender: TObject);
begin
EasyListview1.BackGround.OffsetY := TrackBarBkGndYOffset.Position
end;
procedure TForm1.CheckBoxTrackOffsetsClick(Sender: TObject);
begin
EasyListview1.BackGround.OffsetTrack := CheckBoxTrackOffsets.Checked
end;
procedure TForm1.ButtonBkGndLoadImageClick(Sender: TObject);
begin
OpenDialogStream.Filter := 'Bitmap Files (*.bmp)|*.BMP';
if OpenDialogStream.Execute then
begin
EasyListview1.BackGround.Image.LoadFromFile(OpenDialogStream.FileName);
EditBkGndImage.Text := OpenDialogStream.FileName;
end
end;
procedure TForm1.EasyListview1PaintBkGnd(Sender: TCustomEasyListview;
ACanvas: TCanvas; AWindowRect: TRect; AlphaBlender: TEasyAlphaBlender;
var DoDefault: Boolean);
var
R: TRect;
begin
if CheckBoxBkGndCustomDraw.Checked then
begin
DoDefault := False;
R := Rect(0, 0, 90, 90);
OffsetRect(R, Sender.ClientWidth - 100, Sender.Height - 100);
// Draw some rectangles in the corner
ACanvas.Brush.Color := clGreen;
ACanvas.Rectangle(R);
OffsetRect(R, -10, -10);
ACanvas.Brush.Color := clBlue;
ACanvas.Rectangle(R);
OffsetRect(R, -10, -10);
ACanvas.Brush.Color := clGreen;
ACanvas.Rectangle(R);
OffsetRect(R, -10, -10);
ACanvas.Brush.Color := clRed;
ACanvas.Rectangle(R);
OffsetRect(R, -10, -10);
ACanvas.Brush.Color := clYellow;
ACanvas.Rectangle(R);
if CheckBoxCustomBkGndAlphaBlend.Checked then
begin
R := Rect(0, 0, 130, 130);
OffsetRect(R, Sender.ClientWidth - 140, Sender.Height - 140);
AlphaBlender.BasicBlend(EasyListview1, ACanvas, R, EasyListview1.Color, TrackBarCustomDrawBkGnd.Position, False);
end
end
end;
procedure TForm1.CheckBoxBkGndCustomDrawClick(Sender: TObject);
begin
EasyListview1.SafeInvalidateRect(nil, False);
end;
procedure TForm1.CheckBoxCustomDrawCirclesClick(Sender: TObject);
begin
EasyListview1.SafeInvalidateRect(nil, False);
end;
procedure TForm1.TrackBarCustomDrawBkGndChange(Sender: TObject);
begin
EasyListview1.SafeInvalidateRect(nil, False);
end;
procedure TForm1.CheckBoxCustomBkGndAlphaBlendClick(Sender: TObject);
begin
EasyListview1.SafeInvalidateRect(nil, False);
end;
procedure TForm1.CheckBoxHideCaptionsClick(Sender: TObject);
begin
EasyListview1.PaintInfoItem.HideCaption := CheckBoxHideCaptions.Checked
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
EasyListview1.Selection.DeleteSelected(True);
end;
procedure TForm1.CheckBoxStateImagesClick(Sender: TObject);
begin
// Since we are using VirtualItems all we have to do is repaint the control
if CheckBoxStateImages.Checked then
EasyListview1.ImagesState := ImageListState
else
EasyListview1.ImagesState := nil;
EasyListview1.Invalidate;
end;
procedure TForm1.CheckBoxHeaderAlwaysVisibleClick(Sender: TObject);
begin
EasyListview1.Header.ShowInAllViews := CheckBoxHeaderAlwaysVisible.Checked;
InvalidateLV
end;
procedure TForm1.CheckBoxSnapHorzScrollClick(Sender: TObject);
begin
EasyListview1.Scrollbars.SnapHorzView := CheckBoxSnapHorzScroll.Checked
end;
procedure TForm1.EditHeightExit(Sender: TObject);
begin
EasyListview1.Header.Height := StrToInt(EditHeight.Text)
end;
procedure TForm1.EditHeightKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
EasyListview1.Header.Height := StrToInt(EditHeight.Text)
end
end;
procedure TForm1.CheckBoxHeaderDropDownArrowClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to EasyListview1.Header.Columns.Count - 1 do
EasyListview1.Header.Columns[i].DropDownButton.Visible := CheckBoxHeaderDropDownArrow.Checked
end;
procedure TForm1.EasyListview1ColumnGetCaption(Sender: TCustomEasyListview;
Column: TEasyColumn; Line: Integer; var Caption: WideString);
begin
Caption := 'Column: ' + IntToStr(Column.Index)
end;
procedure TForm1.CheckBoxDropDownArrowAlwaysShowClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to EasyListview1.Header.Columns.Count - 1 do
EasyListview1.Header.Columns[i].DropDownButton.AlwaysShow := CheckBoxDropDownArrowAlwaysShow.Checked
end;
procedure TForm1.CheckBoxDropDownButtonEnabledClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to EasyListview1.Header.Columns.Count - 1 do
EasyListview1.Header.Columns[i].DropDownButton.Enabled := CheckBoxDropDownButtonEnabled.Checked
end;
procedure TForm1.EasyListview1ColumnDropDownButtonClick(
Sender: TCustomEasyListview; Column: TEasyColumn;
Button: TCommonMouseButton; ShiftState: TShiftState; WindowPt: TPoint; var DoDefault: Boolean);
begin
if CheckBoxDropDownButtonCustomAction.Checked then
begin
DoDefault := False;
MessageBox(Handle, PChar('Pressed DropDownButton on Column: ' + IntToStr(Column.Index)), 'Custom Action OnColumnDropDownButtonClick', MB_OK);
end
end;
procedure TForm1.EditBandMarginExit(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandMargin := StrToInt(EditBandMargin.Text)
end;
procedure TForm1.EditBandMarginKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
EasyListview1.PaintInfoGroup.BandMargin := StrToInt(EditBandMargin.Text)
end;
end;
procedure TForm1.RadioGroupGroupHAlignClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.Alignment := TAlignment( RadioGroupGroupHAlign.ItemIndex)
end;
procedure TForm1.RadioGroupGroupVAlignClick(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.VAlignment := TCommonVAlignment( RadioGroupGroupVAlign.ItemIndex)
end;
procedure TForm1.EditBandIndentExit(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.BandIndent := StrToInt(EditBandIndent.Text)
end;
procedure TForm1.EditBandIndentKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
EasyListview1.PaintInfoGroup.BandIndent := StrToInt(EditBandIndent.Text)
end;
end;
procedure TForm1.EditGroupMarginTopExit(Sender: TObject);
begin
EasyListview1.PaintInfoGroup.MarginTop.Size := StrToInt(EditGroupMarginTop.Text);
EasyListview1.PaintInfoGroup.MarginBottom.Size := StrToInt(EditGroupMarginBottom.Text);
EasyListview1.PaintInfoGroup.MarginRight.Size := StrToInt(EditGroupMarginRight.Text);
EasyListview1.PaintInfoGroup.MarginLeft.Size := StrToInt(EditGroupMarginLeft.Text);
end;
procedure TForm1.EditGroupMarginTopKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
EasyListview1.PaintInfoGroup.MarginTop.Size := StrToInt(EditGroupMarginTop.Text);
EasyListview1.PaintInfoGroup.MarginBottom.Size := StrToInt(EditGroupMarginBottom.Text);
EasyListview1.PaintInfoGroup.MarginRight.Size := StrToInt(EditGroupMarginRight.Text);
EasyListview1.PaintInfoGroup.MarginLeft.Size := StrToInt(EditGroupMarginLeft.Text);
end;
end;
end.