752
|
Locks the first visible column on the left and the last visible column on the right

with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := False;
BackColorLock := RGB(192,192,192);
GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
DrawGridLines := EXTREELib_TLB.exVLines;
HeaderAppearance := EXTREELib_TLB.Etched;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
CountLockedColumns := 17;
EndUpdate();
end
|
751
|
Lock the column on the right

with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := False;
BackColorLock := RGB(192,192,192);
GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
DrawGridLines := EXTREELib_TLB.exVLines;
HeaderAppearance := EXTREELib_TLB.Etched;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
CountLockedColumns := 16;
EndUpdate();
end
|
750
|
Lock the column on the left

with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := False;
BackColorLock := RGB(192,192,192);
GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
DrawGridLines := EXTREELib_TLB.exVLines;
HeaderAppearance := EXTREELib_TLB.Etched;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
CountLockedColumns := 1;
EndUpdate();
end
|
749
|
Bolds only the expanded items

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
ConditionalFormats.Add('%CX0',Null).Bold := True;
Columns.Add('Description');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
InsertItem(h,Null,'Child 3');
end;
EndUpdate();
end
|
748
|
Displays the root item's index and value/caption using expressions

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
AutoDrag := EXTREELib_TLB.exAutoDragPositionAny;
SingleSel := False;
DrawGridLines := EXTREELib_TLB.exRowLines;
GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
GridLineColor := RGB(208,208,208);
ConditionalFormats.Add('%CC0 and %CX0',Null).Bold := True;
with ConditionalFormats.Add('1',Null) do
begin
Bold := True;
ApplyTo := EXTREELib_TLB.FormatApplyToEnum($2);
end;
with (IUnknown(Columns.Add('Description')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
end;
with (IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
Width := 16;
end;
with (IUnknown(Columns.Add('Root-Index')) as EXTREELib_TLB.Column) do
begin
FormatColumn := 'root(1 index ``)';
Position := 1;
Width := 32;
Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
end;
with (IUnknown(Columns.Add('Root-Value')) as EXTREELib_TLB.Column) do
begin
FormatColumn := 'root(%0)';
Position := 2;
Width := 32;
Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
InsertItem(h,Null,'Child 3');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
747
|
Displays the parent item's index and caption/value using expressions

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
AutoDrag := EXTREELib_TLB.exAutoDragPositionAny;
SingleSel := False;
DrawGridLines := EXTREELib_TLB.exRowLines;
GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
GridLineColor := RGB(208,208,208);
ConditionalFormats.Add('%CC0 and %CX0',Null).Bold := True;
with ConditionalFormats.Add('1',Null) do
begin
Bold := True;
ApplyTo := EXTREELib_TLB.FormatApplyToEnum($2);
end;
with (IUnknown(Columns.Add('Description')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
end;
with (IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column) do
begin
FormatColumn := '1 index `I`';
Position := 0;
Width := 16;
end;
with (IUnknown(Columns.Add('Parent-Index')) as EXTREELib_TLB.Column) do
begin
FormatColumn := 'parent(1 index `I`)';
Position := 1;
Width := 32;
Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
end;
with (IUnknown(Columns.Add('Parent-Value')) as EXTREELib_TLB.Column) do
begin
FormatColumn := 'parent(%0)';
Position := 2;
Width := 32;
Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
InsertItem(h,Null,'Child 3');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
746
|
Specify the size of the Columns panel

with Tree1 do
begin
BeginUpdate();
HeaderHeight := 24;
HeaderAppearance := EXTREELib_TLB.Etched;
with Columns do
begin
Add('City');
(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
end;
ColumnsFloatBarRect := ',,96';
ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
EndUpdate();
end
|
745
|
Show a vertical line between pivot and Columns panel (EBN color)

with Tree1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABRsIQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFICQTIcBhaGIZRiAKCRTDmHwyRCNIwCLD8QxtDqBY4gOZZXh' +
'al4cJTgMaBYi+Pw3DZHcbvBRkewzHQAKgnSjoDhEMg1CTVVYTDKdOSzDyEX7sIAACpOIZQVJVEY1VT8cyxIyEZimSypWqiYJ0Ty6cQwTAIgI');
Background[EXTREELib_TLB.exColumnsFloatBackColor] := $1000000;
HeaderHeight := 24;
HeaderAppearance := EXTREELib_TLB.Etched;
with Columns do
begin
Add('City');
(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
end;
ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
EndUpdate();
end
|
744
|
Change the background of the Columns panel (EBN color)

with Tree1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ' +
'0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNA' +
'gqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpT' +
'lWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+B' +
'ZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlE' +
'kVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4' +
'kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBq' +
'OIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA');
Background[EXTREELib_TLB.exColumnsFloatBackColor] := $1000000;
HeaderHeight := 24;
HeaderAppearance := EXTREELib_TLB.Etched;
with Columns do
begin
Add('City');
(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
end;
ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
EndUpdate();
end
|
743
|
Change the background of the Columns panel (solid color)

with Tree1 do
begin
BeginUpdate();
HeaderHeight := 24;
HeaderAppearance := EXTREELib_TLB.Etched;
with Columns do
begin
Add('City');
(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
end;
ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
Background[EXTREELib_TLB.exColumnsFloatBackColor] := $f0f0f0;
EndUpdate();
end
|
742
|
Change the visual appearance of the Columns panel

with Tree1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ' +
'0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNA' +
'gqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpT' +
'lWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+B' +
'ZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlE' +
'kVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4' +
'kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBq' +
'OIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA');
Background[EXTREELib_TLB.exColumnsFloatAppearance] := $1000000;
Background[EXTREELib_TLB.exColumnsFloatCaptionBackColor] := $f6f6f6;
BackColorHeader := $1000000;
HeaderHeight := 24;
HeaderAppearance := EXTREELib_TLB.Etched;
with Columns do
begin
Add('City');
(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
end;
Description[EXTREELib_TLB.exColumnsFloatBar] := 'Show/Hide';
ColumnsFloatBarVisible := EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns;
EndUpdate();
end
|
741
|
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (ditto mark)

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exRowLines;
(IUnknown(Columns.Add('Country')) as EXTREELib_TLB.Column).ShowIdem := '<fgcolor gray>〃';
with Items do
begin
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
end;
EndUpdate();
end
|
740
|
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (space)

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exRowLines;
(IUnknown(Columns.Add('Country')) as EXTREELib_TLB.Column).ShowIdem := ' ';
with Items do
begin
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Spain');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
AddItem('Germany');
end;
EndUpdate();
end
|
739
|
Displays a glitch funnel for drop-down filter buttons (empty or active)

with Tree1 do
begin
BeginUpdate();
with VisualAppearance do
begin
RenderType := -1;
Add(1,'gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZOi' +
'wLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYReW' +
'APfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=');
Add(2,'CP:1 -2 0 0 0');
end;
DrawGridLines := EXTREELib_TLB.exAllLines;
GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
ShowFocusRect := False;
Background[EXTREELib_TLB.exHeaderFilterBarButton] := $2000000;
Background[EXTREELib_TLB.exHeaderFilterBarActive] := $2000001;
HeaderAppearance := EXTREELib_TLB.Etched;
BackColorHeader := RGB(255,255,255);
HeaderHeight := 24;
HeaderVisible := True;
with (IUnknown(Columns.Add('1st col')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := False;
Filter := 'Item B';
FilterType := EXTREELib_TLB.exFilter;
end;
Columns.Add('2nd col');
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
ApplyFilter();
EndUpdate();
end
|
738
|
How can I replace or add an icon at runtime

with Tree1 do
begin
BeginUpdate();
ReplaceIcon('gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+Ok' +
'YB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==',Null);
ReplaceIcon('C:\images\favicon.ico',OleVariant(0));
(IUnknown(Columns.Add('Items')) as EXTREELib_TLB.Column).Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
Items.AddItem('Item <img>1</img>');
EndUpdate();
end
|
737
|
Can I set a filter that automatically adds a * before and after the word, so the user can just search for 'cat' and it becomes '*cat*' automatically

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Items')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
DisplayFilterPattern := True;
Def[EXTREELib_TLB.exFilterPatternTemplate] := '*<%filter%>*';
FilterType := EXTREELib_TLB.exPattern;
Filter := '1';
end;
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
end;
ApplyFilter();
EndUpdate();
end
|
736
|
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exAllLines;
GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
ColumnAutoResize := False;
Columns.Add('Column 1');
Columns.Add('Column 2');
Columns.Add('Column 3');
Columns.Add('Column 4');
EndUpdate();
end
|
735
|
Load data as a tree using a parent-id relationship

with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := False;
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exVLines;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Select * FROM Employees WHERE 1=0','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
Columns.Item[OleVariant(0)].Width := 128;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Employees','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
end;
PutItems(rs.GetRows(Null,Null,Null),';0;15');
Items.ExpandItem[0] := True;
EndUpdate();
end
|
734
|
Highlight the leaf items

with Tree1 do
begin
BeginUpdate();
ConditionalFormats.Add('%CC0=0',Null).ForeColor := $808080;
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
with Columns do
begin
(IUnknown(Add('Item')) as EXTREELib_TLB.Column).Width := 16;
Add('Desc');
end;
with Items do
begin
hR := AddItem('Root');
CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /';
ExpandItem[hR] := True;
h := InsertItem(hR,Null,'Home');
CellCaption[OleVariant(h),OleVariant(1)] := 'The home directory with user directories Alice and Bob';
InsertItem(h,Null,'Alice');
InsertItem(h,Null,'Bob');
ExpandItem[h] := True;
h := InsertItem(hR,Null,'Etc');
CellCaption[OleVariant(h),OleVariant(1)] := 'The etc directory with one configuration file';
h := InsertItem(h,Null,'nginx.conf');
CellCaption[OleVariant(InsertItem(hR,Null,'Var')),OleVariant(1)] := 'The var directory';
end;
EndUpdate();
end
|
733
|
Highlight the parent items

with Tree1 do
begin
BeginUpdate();
ConditionalFormats.Add('%CC0',Null).ForeColor := $ff;
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
with Columns do
begin
(IUnknown(Add('Item')) as EXTREELib_TLB.Column).Width := 16;
Add('Desc');
end;
with Items do
begin
hR := AddItem('Root');
CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /';
ExpandItem[hR] := True;
h := InsertItem(hR,Null,'Home');
CellCaption[OleVariant(h),OleVariant(1)] := 'The home directory with user directories Alice and Bob';
InsertItem(h,Null,'Alice');
InsertItem(h,Null,'Bob');
ExpandItem[h] := True;
h := InsertItem(hR,Null,'Etc');
CellCaption[OleVariant(h),OleVariant(1)] := 'The etc directory with one configuration file';
h := InsertItem(h,Null,'nginx.conf');
CellCaption[OleVariant(InsertItem(hR,Null,'Var')),OleVariant(1)] := 'The var directory';
end;
EndUpdate();
end
|
732
|
Highlight the item being expanded or collapsed

with Tree1 do
begin
BeginUpdate();
ConditionalFormats.Add('%CX0',Null).Bold := True;
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
with Columns do
begin
(IUnknown(Add('Item')) as EXTREELib_TLB.Column).Width := 16;
Add('Desc');
end;
with Items do
begin
hR := AddItem('Root');
CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /';
ExpandItem[hR] := True;
h := InsertItem(hR,Null,'Home');
CellCaption[OleVariant(h),OleVariant(1)] := 'The home directory with user directories Alice and Bob';
InsertItem(h,Null,'Alice');
InsertItem(h,Null,'Bob');
ExpandItem[h] := True;
h := InsertItem(hR,Null,'Etc');
CellCaption[OleVariant(h),OleVariant(1)] := 'The etc directory with one configuration file';
h := InsertItem(h,Null,'nginx.conf');
CellCaption[OleVariant(InsertItem(hR,Null,'Var')),OleVariant(1)] := 'The var directory';
end;
EndUpdate();
end
|
731
|
Disable temporarily the column's sort, resize and drag and drop

with Tree1 do
begin
BeginUpdate();
SortBarVisible := True;
SortBarCaption := '<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)';
HeaderEnabled := False;
HeaderAppearance := EXTREELib_TLB.Etched;
(IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column).FormatColumn := '1 index ``';
(IUnknown(Columns.Add('Pos')) as EXTREELib_TLB.Column).FormatColumn := '1 apos ``';
Columns.Add('Edit');
GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
DrawGridLines := EXTREELib_TLB.exVLines;
GridLineColor := RGB(224,224,224);
EndUpdate();
end
|
730
|
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.Tree1AnchorClick(ASender: TObject; AnchorID : WideString; Options : WideString);
begin
with Tree1 do
begin
OutputDebugString( AnchorID );
end
end;
with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := True;
TreeColumnIndex := -1;
DrawGridLines := EXTREELib_TLB.exAllLines;
GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
BackColorAlternate := RGB(240,240,240);
ShowFocusRect := False;
Columns.Add('Default');
with Items do
begin
AddItem('before item');
h := AddItem('<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4AjM' +
'GhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEBA' +
'==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DABv' +
'ABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>`' +
'50;</a><br>+ withdraw(amount: Currency)');
CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exHTML;
CellSingleLine[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exCaptionWordWrap;
AddItem('after item');
end;
EndUpdate();
end
|
729
|
Expandable-caption

with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := True;
TreeColumnIndex := -1;
DrawGridLines := EXTREELib_TLB.exAllLines;
GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
BackColorAlternate := RGB(240,240,240);
ShowFocusRect := False;
Columns.Add('Default');
with Items do
begin
AddItem('before item');
h := AddItem('<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3');
CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exHTML;
CellSingleLine[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exCaptionWordWrap;
AddItem('after item');
end;
EndUpdate();
end
|
728
|
Force scrollbars hover-all feature
with Tree1 do
begin
Background[EXTREELib_TLB.exScrollHoverAll] := $ffffffff;
end
|
727
|
Disable scrollbars hover-all feature (Windows 11 or greater)
with Tree1 do
begin
Background[EXTREELib_TLB.exScrollHoverAll] := $1;
end
|
726
|
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Tree1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
with Tree1 do
begin
ShowToolTip('new content','',Null,'+8','+8');
end
end;
|
725
|
Shows the tooltip of the object moved relative to its default position

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Tree1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
with Tree1 do
begin
ShowToolTip('<null>','<null>',Null,'+8','+8');
end
end;
with Tree1 do
begin
ColumnAutoResize := False;
(IUnknown(Columns.Add('tootip')) as EXTREELib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column';
end
|
724
|
Highlight the match once the filter is applied

// FilterChange event - Notifies your application that the filter is changed.
procedure TForm1.Tree1FilterChange(ASender: TObject; );
begin
with Tree1 do
begin
format := FormatABC('`lower(value) replace lower(''` + value + `'') with ''<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>''`',OleVariant(FilterBarPromptPattern),Null,Null);
Columns.Item[OleVariant(0)].FormatColumn := format;
Columns.Item[OleVariant(1)].FormatColumn := format;
Columns.Item[OleVariant(2)].FormatColumn := format;
end
end;
with Tree1 do
begin
BeginUpdate();
SelBackColor := BackColor;
SelForeColor := ForeColor;
ColumnAutoResize := True;
ContinueColumnScroll := False;
MarkSearchColumn := False;
SearchColumnIndex := 1;
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 23;
BackColorLevelHeader := BackColor;
FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)';
FilterBarPromptVisible := Integer(EXTREELib_TLB.exFilterBarCompact) Or Integer(EXTREELib_TLB.exFilterBarCaptionVisible) Or Integer(EXTREELib_TLB.exFilterBarVisible) Or Integer(EXTREELib_TLB.exFilterBarPromptVisible);
FilterBarBackColor := BackColor;
FilterBarPromptPattern := 'and';
with Columns do
begin
with (IUnknown(Add('Name')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
FormatColumn := 'lower(value)';
end;
with (IUnknown(Add('Title')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
FormatColumn := 'lower(value)';
end;
with (IUnknown(Add('City')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
FormatColumn := 'lower(value)';
end;
end;
with Items do
begin
h0 := AddItem('Nancy Davolio');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellCaption[OleVariant(h0),OleVariant(2)] := 'Seattle';
h0 := AddItem('Andrew Fuller');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales';
CellCaption[OleVariant(h0),OleVariant(2)] := 'Tacoma';
SelectItem[h0] := True;
h0 := AddItem('Janet Leverling');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellCaption[OleVariant(h0),OleVariant(2)] := 'Kirkland';
h0 := AddItem('Margaret Peacock');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellCaption[OleVariant(h0),OleVariant(2)] := 'Redmond';
h0 := AddItem('Steven Buchanan');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Manager';
CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
h0 := AddItem('Michael Suyama');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
h0 := AddItem('Robert King');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
h0 := AddItem('Laura Callahan');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator';
CellCaption[OleVariant(h0),OleVariant(2)] := 'Seattle';
h0 := AddItem('Anne Dodsworth');
CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
end;
EndUpdate();
end
|
723
|
ADOR, MDB (JET)

with Tree1 do
begin
ColumnAutoResize := False;
ContinueColumnScroll := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
end
|
722
|
Re-order the cell's caption, icons and images/pictures

with Tree1 do
begin
BeginUpdate();
Images('gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc' +
'D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB');
with (IUnknown(Columns.Add('ToLeft')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
end;
with (IUnknown(Columns.Add('ToRight')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
Def[EXTREELib_TLB.exCellDrawPartsOrder] := 'caption,picture,icons,icon,check';
end;
DefaultItemHeight := 32;
DrawGridLines := EXTREELib_TLB.exVLines;
HeaderAppearance := EXTREELib_TLB.Etched;
with Items do
begin
h := AddItem('Caption');
CellImage[OleVariant(h),OleVariant(0)] := 2;
CellImages[OleVariant(h),OleVariant(0)] := '1,2';
CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(Tree1.ExecuteTemplate('loadpicture(`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' +
'Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)')) as _TLB.Object);
CellCaption[OleVariant(h),OleVariant(1)] := CellCaption[OleVariant(h),OleVariant(0)];
CellHAlignment[OleVariant(h),OleVariant(1)] := EXTREELib_TLB.RightAlignment;
CellImage[OleVariant(h),OleVariant(1)] := CellImage[OleVariant(h),OleVariant(0)];
CellImages[OleVariant(h),OleVariant(1)] := '2,1';
CellPicture[OleVariant(h),OleVariant(1)] := (IUnknown(CellPicture[OleVariant(h),OleVariant(0)]) as _TLB.Object);
h := AddItem('<b>HTML</b> <off 4>Caption');
CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exHTML;
CellImage[OleVariant(h),OleVariant(0)] := 2;
CellImages[OleVariant(h),OleVariant(0)] := '1,2';
CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(Tree1.ExecuteTemplate('loadpicture(`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' +
'Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)')) as _TLB.Object);
CellCaption[OleVariant(h),OleVariant(1)] := CellCaption[OleVariant(h),OleVariant(0)];
CellCaptionFormat[OleVariant(h),OleVariant(1)] := EXTREELib_TLB.exHTML;
CellHAlignment[OleVariant(h),OleVariant(1)] := EXTREELib_TLB.RightAlignment;
CellImage[OleVariant(h),OleVariant(1)] := CellImage[OleVariant(h),OleVariant(0)];
CellImages[OleVariant(h),OleVariant(1)] := '2,1';
CellPicture[OleVariant(h),OleVariant(1)] := (IUnknown(CellPicture[OleVariant(h),OleVariant(0)]) as _TLB.Object);
end;
EndUpdate();
end
|
721
|
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
// Column.Def(48) = 2
// Column.Def(49) = 2
end;
with Tree1 do
begin
BeginUpdate();
ImageSize := 32;
DefaultItemHeight := 36;
HeaderHeight := DefaultItemHeight;
SortBarHeight := DefaultItemHeight;
Font.Size := 16;
FilterBarFont.Size := Tree1.Font.Size;
ToolTipFont.Size := Tree1.Font.Size;
Indent := 26;
Images('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');
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' +
'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' +
'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR' +
'DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF' +
'oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk' +
'mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo' +
'chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0' +
'ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8' +
'CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U' +
'gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==');
Add(2,'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' +
'RBCCQAgQEA==');
Add(3,'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');
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
BackColorHeader := $4c6c6c6;
SelBackColor := $4000000;
SelForeColor := RGB(0,0,1);
CheckImage[EXTREELib_TLB.Unchecked] := 16777216;
CheckImage[EXTREELib_TLB.Checked] := 33554432;
CheckImage[EXTREELib_TLB.PartialChecked] := 50331648;
Background[EXTREELib_TLB.exSelBackColorFilter] := SelBackColor;
Background[EXTREELib_TLB.exSelForeColorFilter] := SelForeColor;
Background[EXTREELib_TLB.exBackColorFilter] := BackColor;
Background[EXTREELib_TLB.exForeColorFilter] := ForeColor;
Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
Background[EXTREELib_TLB.exHeaderFilterBarButton] := $4000000;
Background[EXTREELib_TLB.exHeaderFilterBarActive] := $4010101;
Background[EXTREELib_TLB.exFooterFilterBarButton] := $40000ff;
HeaderAppearance := EXTREELib_TLB.Etched;
ShowFocusRect := False;
SortBarVisible := True;
BackColorSortBar := BackColor;
BackColorLevelHeader := BackColor;
FilterBarDropDownHeight := 1;
with (IUnknown(Columns.Add('Check')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
Width := 128;
DisplayFilterButton := True;
FilterList := EXTREELib_TLB.exShowCheckBox;
end;
with (IUnknown(Columns.Add('Pos')) as EXTREELib_TLB.Column) do
begin
FormatColumn := '1 pos ``';
AllowSort := False;
Width := 48;
AllowSizing := False;
Alignment := EXTREELib_TLB.CenterAlignment;
HeaderAlignment := EXTREELib_TLB.CenterAlignment;
end;
with (IUnknown(Columns.Add('Image')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXTREELib_TLB.exShowExclude) Or Integer(EXTREELib_TLB.exShowCheckBox) Or Integer(EXTREELib_TLB.exSortItemsAsc);
FilterType := EXTREELib_TLB.exImage;
DisplayExpandButton := True;
ExpandColumns := '1,2,3';
Width := 128;
HeaderImage := 1;
end;
with (IUnknown(Columns.Add('Images')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
Width := 196;
HTMLCaption := '<img>1</img><img>2</img><img>3</img> Images';
end;
Columns.Item['Pos'].Position := 3;
with Items do
begin
hR := AddItem('Root');
ItemDivider[hR] := 0;
ItemDividerLine[hR] := EXTREELib_TLB.EmptyLine;
h := InsertItem(hR,Null,'Child A');
CellImage[OleVariant(h),OleVariant(2)] := 1;
CellImages[OleVariant(h),OleVariant(3)] := '1,2,3';
CellCaption[OleVariant(h),OleVariant(3)] := '123';
h := InsertItem(hR,Null,'Child B');
CellState[OleVariant(h),OleVariant(0)] := 1;
CellImage[OleVariant(h),OleVariant(2)] := 3;
CellImages[OleVariant(h),OleVariant(3)] := '2,3,1';
CellCaption[OleVariant(h),OleVariant(3)] := '231';
SelectItem[h] := True;
h := InsertItem(hR,Null,'Child C');
CellImage[OleVariant(h),OleVariant(2)] := 2;
CellState[OleVariant(h),OleVariant(3)] := 1;
CellCaption[OleVariant(h),OleVariant(3)] := '312';
CellImages[OleVariant(h),OleVariant(3)] := '3,1,2';
ExpandItem[hR] := True;
end;
EndUpdate();
end
|
720
|
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
// Column.Def(48) = 2
// Column.Def(49) = 2
end;
with Tree1 do
begin
BeginUpdate();
ImageSize := 16;
Images('gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd' +
'SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt' +
'mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac' +
'vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG' +
'sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn' +
'wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==');
with VisualAppearance do
begin
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
BackColorHeader := $4c6c6c6;
SelBackColor := $4000000;
SelForeColor := RGB(0,0,1);
Background[EXTREELib_TLB.exSelBackColorFilter] := SelBackColor;
Background[EXTREELib_TLB.exSelForeColorFilter] := SelForeColor;
Background[EXTREELib_TLB.exBackColorFilter] := BackColor;
Background[EXTREELib_TLB.exForeColorFilter] := ForeColor;
Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
Background[EXTREELib_TLB.exHeaderFilterBarButton] := $4000000;
Background[EXTREELib_TLB.exHeaderFilterBarActive] := $4010101;
Background[EXTREELib_TLB.exFooterFilterBarButton] := $40000ff;
HeaderAppearance := EXTREELib_TLB.Etched;
ShowFocusRect := False;
SortBarVisible := True;
BackColorSortBar := BackColor;
BackColorLevelHeader := BackColor;
FilterBarDropDownHeight := 1;
with (IUnknown(Columns.Add('Check')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
Width := 128;
DisplayFilterButton := True;
FilterList := EXTREELib_TLB.exShowCheckBox;
end;
with (IUnknown(Columns.Add('Pos')) as EXTREELib_TLB.Column) do
begin
FormatColumn := '1 pos ``';
AllowSort := False;
Width := 48;
AllowSizing := False;
Alignment := EXTREELib_TLB.CenterAlignment;
HeaderAlignment := EXTREELib_TLB.CenterAlignment;
end;
with (IUnknown(Columns.Add('Image')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXTREELib_TLB.exShowExclude) Or Integer(EXTREELib_TLB.exShowCheckBox) Or Integer(EXTREELib_TLB.exSortItemsAsc);
FilterType := EXTREELib_TLB.exImage;
DisplayExpandButton := True;
ExpandColumns := '1,2,3';
Width := 128;
HeaderImage := 1;
end;
with (IUnknown(Columns.Add('Images')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
Width := 196;
HTMLCaption := '<img>1</img><img>2</img><img>3</img> Images';
end;
Columns.Item['Pos'].Position := 3;
with Items do
begin
hR := AddItem('Root');
ItemDivider[hR] := 0;
ItemDividerLine[hR] := EXTREELib_TLB.EmptyLine;
h := InsertItem(hR,Null,'Child A');
CellImage[OleVariant(h),OleVariant(2)] := 1;
CellImages[OleVariant(h),OleVariant(3)] := '1,2,3';
CellCaption[OleVariant(h),OleVariant(3)] := '123';
h := InsertItem(hR,Null,'Child B');
CellState[OleVariant(h),OleVariant(0)] := 1;
CellImage[OleVariant(h),OleVariant(2)] := 3;
CellImages[OleVariant(h),OleVariant(3)] := '2,3,1';
CellCaption[OleVariant(h),OleVariant(3)] := '231';
SelectItem[h] := True;
h := InsertItem(hR,Null,'Child C');
CellImage[OleVariant(h),OleVariant(2)] := 2;
CellState[OleVariant(h),OleVariant(3)] := 1;
CellCaption[OleVariant(h),OleVariant(3)] := '312';
CellImages[OleVariant(h),OleVariant(3)] := '3,1,2';
ExpandItem[hR] := True;
end;
EndUpdate();
end
|
719
|
The user clicks the drop-down filter, select a value and the control's list filters for the selected item(s). Is there a way for when the user then goes to the next column to add another filter and the drop down arrow is clicked for the list of values they can filter by to be limited to what is being displayed in the list due to the first filter they set

// AddColumn event - Fired after a new column has been added.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
with Tree1 do
begin
with Column do
begin
end;
end
end;
with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
Columns.Item['ShipVia'].Position := 2;
EndUpdate();
end
|
718
|
Is it possible to set from code, a column sort without being inserted in the sortbar

with Tree1 do
begin
BeginUpdate();
ColumnAutoResize := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb',1,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
SortBarVisible := True;
Layout := 'singlesort="C1:1"';
EndUpdate();
end
|
717
|
Is it possible to view all events the control fires
// Event event - Notifies the application once the control fires an event.
procedure TForm1.Tree1Event(ASender: TObject; EventID : Integer);
begin
with Tree1 do
begin
OutputDebugString( EventParam[-2] );
end
end;
with Tree1 do
begin
BeginUpdate();
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
with (IUnknown(Columns.Add('Tasks')) as EXTREELib_TLB.Column) do
begin
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)';
end;
HeaderVisible := True;
with Items do
begin
h := AddItem('Project');
hChild := InsertItem(h,Null,'Task 1');
SelectItem[hChild] := True;
hChild := InsertItem(h,Null,'Task 2');
CellState[OleVariant(hChild),OleVariant(0)] := 1;
hChild := InsertItem(h,Null,'Task 3');
CellState[OleVariant(hChild),OleVariant(0)] := 1;
ExpandItem[h] := True;
end;
EndUpdate();
end
|
716
|
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TForm1.Tree1BeforeExpandItem(ASender: TObject; Item : HITEM; var Cancel : OleVariant);
begin
with Tree1 do
begin
Cancel := Tree1.Items.ItemParent[Item];
end
end;
with Tree1 do
begin
BeginUpdate();
SingleSel := False;
Columns.Add('Default');
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
with Items do
begin
h := AddItem('Root 1');
InsertItem(InsertItem(h,Null,'Child 1.1'),Null,'Child');
InsertItem(h,Null,'Child 1.2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(InsertItem(h,Null,'Child 2.1'),Null,'Child');
InsertItem(h,Null,'Child 2.2');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
715
|
How can I display an item of picture type

with Tree1 do
begin
BeginUpdate();
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
ScrollBySingleLine := False;
HeaderAppearance := EXTREELib_TLB.Etched;
HeaderHeight := 24;
(IUnknown(Columns.Add('Artikel')) as EXTREELib_TLB.Column).HTMLCaption := '<u>Artikel';
(IUnknown(Columns.Add('Waarde')) as EXTREELib_TLB.Column).HTMLCaption := '<u>Waarde';
HTMLPicture['T22128'] := 'c:\exontrol\images\zipdisk.gif';
with Items do
begin
h := AddItem('T22128-28)2D');
h1 := InsertItem(h,Null,'<img>T22128:128</img>');
CellCaptionFormat[OleVariant(h1),OleVariant(0)] := EXTREELib_TLB.exHTML;
ItemHeight[h1] := 128;
h1 := InsertItem(h,Null,'werkvoorbereiding');
CellCaption[OleVariant(h1),OleVariant(1)] := '5.80';
CellBold[OleVariant(h1),OleVariant(1)] := True;
CellCaption[OleVariant(InsertItem(h1,Null,'Type')),OleVariant(1)] := 'Eenvoudig';
CellCaption[OleVariant(InsertItem(h1,Null,'Prijs p/uur')),OleVariant(1)] := '60,00';
CellCaption[OleVariant(InsertItem(h1,Null,'Marhe')),OleVariant(1)] := '15,00%';
CellCaption[OleVariant(InsertItem(h1,Null,'Insteltijd min.')),OleVariant(1)] := '5,00';
CellCaption[OleVariant(InsertItem(h1,Null,'Aantal')),OleVariant(1)] := OleVariant(1);
CellCaption[OleVariant(InsertItem(h1,Null,'Kostprije')),OleVariant(1)] := '5,00';
ExpandItem[h1] := True;
h1 := InsertItem(h,Null,'materiall');
CellCaption[OleVariant(h1),OleVariant(1)] := '14.82';
CellBold[OleVariant(h1),OleVariant(1)] := True;
ItemHasChildren[h1] := True;
h1 := InsertItem(h,Null,'snijden');
CellCaption[OleVariant(h1),OleVariant(1)] := '3.13';
CellBold[OleVariant(h1),OleVariant(1)] := True;
ItemHasChildren[h1] := True;
ExpandItem[h] := True;
end;
EndUpdate();
end
|
714
|
Dark mode

with Tree1 do
begin
BeginUpdate();
back := 65536;
fore := 16777215;
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' +
'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' +
'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA');
VisualAppearance.Add(2,'gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4bi' +
'aKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA');
VisualAppearance.Add(3,'gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5Cj' +
'mG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxb' +
'buaaXLhGCYBgIA==');
HeaderAppearance := EXTREELib_TLB.Bump;
BackColor := back;
BackColorHeader := back;
BackColorLevelHeader := back;
BackColorSortBar := back;
BackColorSortBarCaption := back;
FilterBarBackColor := back;
FilterBarForeColor := fore;
ForeColor := fore;
ForeColorHeader := fore;
ForeColorSortBar := fore;
SelBackColor := fore;
SelForeColor := back;
Background[EXTREELib_TLB.exHeaderFilterBarButton] := $1000000;
Background[EXTREELib_TLB.BackgroundPartEnum($10 Or Integer(EXTREELib_TLB.exCellButtonUp))] := $2000000;
Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
Background[EXTREELib_TLB.exToolTipAppearance] := $3000000;
Background[EXTREELib_TLB.exToolTipBackColor] := back;
Background[EXTREELib_TLB.exToolTipForeColor] := fore;
Background[EXTREELib_TLB.exSelBackColorFilter] := fore;
Background[EXTREELib_TLB.exSelForeColorFilter] := back;
Background[EXTREELib_TLB.exBackColorFilter] := back;
Background[EXTREELib_TLB.exForeColorFilter] := fore;
Background[EXTREELib_TLB.exSortBarLinkColor] := back;
Background[EXTREELib_TLB.BackgroundPartEnum($80 Or Integer(EXTREELib_TLB.exDateSelect))] := $2000000;
Background[EXTREELib_TLB.BackgroundPartEnum($80 Or Integer(EXTREELib_TLB.exDateSeparatorBar))] := $2000000;
Background[EXTREELib_TLB.exTreeLinesColor] := fore;
Description[EXTREELib_TLB.exFilterBarExclude] := '<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>';
EndUpdate();
end
|
713
|
How can I specify the cell's outline, border or lines around, when the cell gets selected

with Tree1 do
begin
BeginUpdate();
AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}');
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' +
'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' +
'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' +
'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' +
'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=');
Add(2,'CP:1 -4 0 0 0');
end;
SelBackColor := $2000000;
SelForeColor := RGB(0,0,1);
FullRowSelect := False;
ShowFocusRect := False;
DefaultItemHeight := 24;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exVLines;
Columns.Add('C1');
Columns.Add('C2');
with Items do
begin
CellCaption[OleVariant(AddItem('Cell 1')),OleVariant(1)] := 'Cell 2';
CellCaption[OleVariant(AddItem('Cell 3')),OleVariant(1)] := 'Cell 4';
end;
Items.SelectPos := OleVariant(1);
SelectColumnIndex := 1;
EndUpdate();
end
|
712
|
How can I specify the cell's outline, border or lines around, when the item gets selected

with Tree1 do
begin
BeginUpdate();
AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}');
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' +
'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' +
'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' +
'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' +
'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=');
SelBackColor := $1000000;
SelForeColor := RGB(0,0,1);
ShowFocusRect := False;
DefaultItemHeight := 24;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exVLines;
Columns.Add('C1');
Columns.Add('C2');
with Items do
begin
CellCaption[OleVariant(AddItem('Cell 1')),OleVariant(1)] := 'Cell 2';
CellCaption[OleVariant(AddItem('Cell 3')),OleVariant(1)] := 'Cell 4';
SelectPos := OleVariant(1);
end;
EndUpdate();
end
|
711
|
How can I specify the cell's outline, border or lines around

with Tree1 do
begin
BeginUpdate();
AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}');
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' +
'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' +
'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' +
'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' +
'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=');
SelBackMode := EXTREELib_TLB.exTransparent;
ShowFocusRect := False;
DefaultItemHeight := 24;
HeaderHeight := 24;
DrawGridLines := EXTREELib_TLB.exVLines;
Columns.Add('C1');
Columns.Add('C2');
with Items do
begin
CellCaption[OleVariant(AddItem('Cell 1')),OleVariant(1)] := 'Cell 2';
h := AddItem('Cell 2');
CellCaption[OleVariant(h),OleVariant(1)] := 'Cell 3';
CellBackColor[OleVariant(h),OleVariant(1)] := $1000000;
end;
EndUpdate();
end
|
710
|
Is it possible to highligth the match while a filter is applied

// AddColumn event - Fired after a new column has been added.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
// Column.Def(17) = 1
end;
// FilterChange event - Notifies your application that the filter is changed.
procedure TForm1.Tree1FilterChange(ASender: TObject; );
begin
with Tree1 do
begin
format := FormatABC('`value replace ''` + value + `'' with ''<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>''`',OleVariant(FilterBarPromptPattern),Null,Null);
Columns.Item[OleVariant(0)].FormatColumn := format;
Columns.Item[OleVariant(1)].FormatColumn := format;
end
end;
with Tree1 do
begin
BeginUpdate();
DrawGridLines := EXTREELib_TLB.exVLines;
HeaderAppearance := EXTREELib_TLB.Etched;
Columns.Add('Col 1');
Columns.Add('Col 2');
with Items do
begin
CellCaption[OleVariant(AddItem('219 Smith')),OleVariant(1)] := 'Ignacio 1234';
CellCaption[OleVariant(AddItem('1666 County Road 309A')),OleVariant(1)] := '897 Manassa';
CellCaption[OleVariant(AddItem('38 Lone Pine')),OleVariant(1)] := 'Durango 11';
CellCaption[OleVariant(AddItem('612 Jachim Street')),OleVariant(1)] := 'Lamar 222';
end;
FilterBarPromptPattern := '1';
FilterBarPromptVisible := Integer(EXTREELib_TLB.exFilterBarCompact) Or Integer(EXTREELib_TLB.exFilterBarSingleLine) Or Integer(EXTREELib_TLB.exFilterBarVisible) Or Integer(EXTREELib_TLB.exFilterBarPromptVisible);
FilterBarPromptType := Integer(EXTREELib_TLB.exFilterPromptCaseSensitive) Or Integer(EXTREELib_TLB.exFilterPromptContainsAll);
EndUpdate();
end
|
709
|
Is it possible to highlight the column's header once a filter is applied (sample 2)

with Tree1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSA' +
'sXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDM' +
'RwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwX' +
'g+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqD' +
'BoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=');
Add(2,'gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi' +
'6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKA' +
'T4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBH' +
'AmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaB' +
'ZhggZgagaYRoEwShWA6NZZAMQBAICA==');
end;
Background[EXTREELib_TLB.exHeaderFilterBarButton] := $1000000;
Background[EXTREELib_TLB.exHeaderFilterBarActive] := $2000000;
Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
HeaderHeight := 28;
BackColorHeader := RGB(255,255,255);
DrawGridLines := EXTREELib_TLB.exRowLines;
HeaderVisible := True;
with Columns do
begin
(IUnknown(Add('C1')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
with (IUnknown(Add('C2')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
Filter := 'Item 2';
FilterType := EXTREELib_TLB.exFilter;
end;
(IUnknown(Add('C3')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
end;
with Items do
begin
h := AddItem('Item 1');
CellCaption[OleVariant(h),OleVariant(1)] := 'Item 2';
CellCaption[OleVariant(h),OleVariant(2)] := 'Item 3';
h := AddItem('Item 4');
CellCaption[OleVariant(h),OleVariant(1)] := 'Item 5';
CellCaption[OleVariant(h),OleVariant(2)] := 'Item 6';
end;
ApplyFilter();
EndUpdate();
end
|
708
|
How can I make the expand/collapse glyphs DPI aware

with Tree1 do
begin
size := 2;
BeginUpdate();
with VisualAppearance do
begin
Add(3,'gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcC' +
'QAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKc' +
'RQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJr' +
'nSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYG' +
'oGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpF' +
'IVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJZ' +
'nloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==');
Add(4,'gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYI' +
'gAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVY' +
'ghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxT' +
'iGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYF' +
'oFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaF' +
'KFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWRY' +
'OiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==');
Add(1,Tree1.FormatABC('`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)',OleVariant(size),Null,Null));
Add(2,Tree1.FormatABC('`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)',OleVariant(size),Null,Null));
end;
LinesAtRoot := EXTREELib_TLB.exGroupLinesAtRoot;
HasButtons := EXTREELib_TLB.exCustom;
HasButtonsCustom[False] := 16777216;
HasButtonsCustom[True] := 33554432;
Columns.Add('Column');
with Items do
begin
h := AddItem('Root 1');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(h,Null,'Child');
end;
EndUpdate();
end
|
707
|
Is it possible to highlight the column's header once a filter is applied (sample 1)

with Tree1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(2,'gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ' +
'0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN' +
'YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h' +
'hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb' +
'hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB' +
'MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=');
Add(1,'CP:2 -8 -4 2 4');
end;
Background[EXTREELib_TLB.exHeaderFilterBarButton] := $1fefefe;
Background[EXTREELib_TLB.exHeaderFilterBarActive] := $1010101;
Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
HeaderHeight := 28;
BackColorHeader := RGB(255,255,255);
DrawGridLines := EXTREELib_TLB.exRowLines;
HeaderVisible := True;
with Columns do
begin
(IUnknown(Add('C1')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
with (IUnknown(Add('C2')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
Filter := 'Item 2';
FilterType := EXTREELib_TLB.exFilter;
end;
(IUnknown(Add('C3')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
end;
with Items do
begin
h := AddItem('Item 1');
CellCaption[OleVariant(h),OleVariant(1)] := 'Item 2';
CellCaption[OleVariant(h),OleVariant(2)] := 'Item 3';
h := AddItem('Item 4');
CellCaption[OleVariant(h),OleVariant(1)] := 'Item 5';
CellCaption[OleVariant(h),OleVariant(2)] := 'Item 6';
end;
ApplyFilter();
EndUpdate();
end
|
706
|
Is it possible to show the filterbar on top of the rows

with Tree1 do
begin
BeginUpdate();
FilterBarPromptVisible := EXTREELib_TLB.exFilterBarTop;
HeaderHeight := 24;
FilterBarHeight := HeaderHeight;
HeaderAppearance := EXTREELib_TLB.Flat;
DrawGridLines := EXTREELib_TLB.exAllLines;
GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
with (IUnknown(Columns.Add('Column')) as EXTREELib_TLB.Column) do
begin
DisplayFilterButton := True;
FilterType := EXTREELib_TLB.exPattern;
Filter := 'B*';
end;
with (IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
Width := 48;
AllowSizing := False;
SortType := EXTREELib_TLB.SortNumeric;
Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
end;
with Items do
begin
AddItem('A.1');
AddItem('A.2');
AddItem('B.1');
AddItem('B.2');
AddItem('B.3');
AddItem('C');
end;
ApplyFilter();
EndUpdate();
end
|
705
|
DragDrop (with visual effect)

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
procedure TForm1.Tree1OLEDragDrop(ASender: TObject; Data : IExDataObject; var Effect : Integer; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
// SelectItem(InsertItem(i,, Data.GetData(1))) = True
with Tree1 do
begin
i := ItemFromPoint[-1,-1,c,hit];
with Items do
begin
ExpandItem[i] := True;
end;
end
end;
// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Tree1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
with Tree1 do
begin
AllowedEffects := 1;
end
end;
with Tree1 do
begin
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGj' +
'uKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==');
Background[EXTREELib_TLB.exListOLEDropPosition] := $1000000;
Background[EXTREELib_TLB.exDragDropBefore] := $0;
Background[EXTREELib_TLB.exDragDropAfter] := $ffffff;
OLEDropMode := EXTREELib_TLB.exOLEDropManual;
AutoDrag := EXTREELib_TLB.exAutoDragPositionAnyOnRight;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
Indent := 16;
SelBackMode := EXTREELib_TLB.exTransparent;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
end;
OutputDebugString( 'You can:' );
OutputDebugString( 'A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)' );
OutputDebugString( 'B) right-click to re-arrange the item position inside the same control' );
OutputDebugString( 'This sample shows how you can insert the data being dropped as a child of the item being hovered.' );
end
|
704
|
DragDrop (with no visual effect, hide item while drag and drop)

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
procedure TForm1.Tree1OLEDragDrop(ASender: TObject; Data : IExDataObject; var Effect : Integer; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
// SelectItem(InsertItem(i,, Data.GetData(1))) = True
with Tree1 do
begin
i := ItemFromPoint[-1,-1,c,hit];
with Items do
begin
ExpandItem[i] := True;
end;
end
end;
// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Tree1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
with Tree1 do
begin
AllowedEffects := 1;
end
end;
with Tree1 do
begin
Background[EXTREELib_TLB.exDragDropBefore] := $0;
Background[EXTREELib_TLB.exDragDropAfter] := $ffffff;
OLEDropMode := EXTREELib_TLB.exOLEDropManual;
AutoDrag := EXTREELib_TLB.exAutoDragPositionAnyOnRight;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
Indent := 16;
SelBackMode := EXTREELib_TLB.exTransparent;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
end;
OutputDebugString( 'You can:' );
OutputDebugString( 'A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)' );
OutputDebugString( 'B) right-click to re-arrange the item position inside the same control' );
OutputDebugString( 'This sample shows how you can insert the data being dropped as a child of the item being hovered.' );
end
|
703
|
DragDrop

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
procedure TForm1.Tree1OLEDragDrop(ASender: TObject; Data : IExDataObject; var Effect : Integer; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
// SelectItem(InsertItem(i,, Data.GetData(1))) = True
with Tree1 do
begin
i := ItemFromPoint[-1,-1,c,hit];
with Items do
begin
ExpandItem[i] := True;
end;
end
end;
// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Tree1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
with Tree1 do
begin
AllowedEffects := 1;
end
end;
with Tree1 do
begin
OLEDropMode := EXTREELib_TLB.exOLEDropManual;
AutoDrag := EXTREELib_TLB.exAutoDragPositionAnyOnRight;
LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
Indent := 16;
SelBackMode := EXTREELib_TLB.exTransparent;
Columns.Add('Default');
with Items do
begin
h := AddItem('Root');
InsertItem(h,Null,'Child 1');
InsertItem(h,Null,'Child 2');
ExpandItem[h] := True;
end;
OutputDebugString( 'You can:' );
OutputDebugString( 'A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)' );
OutputDebugString( 'B) right-click to re-arrange the item position inside the same control' );
OutputDebugString( 'This sample shows how you can insert the data being dropped as a child of the item being hovered.' );
end
|
702
|
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
with Columns do
begin
Add('Item');
with (IUnknown(Add('Pos')) as EXTREELib_TLB.Column) do
begin
Position := 0;
Width := 32;
AllowSizing := False;
FormatColumn := '1 index ``';
AllowSort := False;
AllowDragging := False;
end;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
EndUpdate();
end
|
701
|
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

with Tree1 do
begin
BeginUpdate();
HeaderAppearance := EXTREELib_TLB.Etched;
Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
with Columns do
begin
Add('Item');
with (IUnknown(Add('Pos')) as EXTREELib_TLB.Column) do
begin
Position := 0;
Width := 32;
AllowSizing := False;
FormatColumn := '1 index ``';
AllowSort := False;
AllowDragging := False;
end;
end;
with Items do
begin
AddItem('Item A');
AddItem('Item B');
AddItem('Item C');
end;
EndUpdate();
end
|