1002 |
Highlight the leaf items
with Gantt1 do begin BeginUpdate(); ConditionalFormats.Add('%CC0=0',Null).ForeColor := $808080; HeaderAppearance := EXGANTTLib_TLB.Etched; HeaderHeight := 24; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; with Columns do begin (IUnknown(Add('Item')) as EXGANTTLib_TLB.Column).Width := 16; Add('Desc'); end; with Items do begin hR := AddItem('Root'); CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /'; 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'; ExpandItem[hR] := True; end; EndUpdate(); end |
1001 |
Highlight the parent items
with Gantt1 do begin BeginUpdate(); ConditionalFormats.Add('%CC0',Null).ForeColor := $ff; HeaderAppearance := EXGANTTLib_TLB.Etched; HeaderHeight := 24; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; with Columns do begin (IUnknown(Add('Item')) as EXGANTTLib_TLB.Column).Width := 16; Add('Desc'); end; with Items do begin hR := AddItem('Root'); CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /'; 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'; ExpandItem[hR] := True; end; EndUpdate(); end |
1000 |
Highlight the item being expanded or collapsed
with Gantt1 do begin BeginUpdate(); ConditionalFormats.Add('%CX0',Null).Bold := True; HeaderAppearance := EXGANTTLib_TLB.Etched; HeaderHeight := 24; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; with Columns do begin (IUnknown(Add('Item')) as EXGANTTLib_TLB.Column).Width := 16; Add('Desc'); end; with Items do begin hR := AddItem('Root'); CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /'; 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'; ExpandItem[hR] := True; end; EndUpdate(); end |
999 |
Disable temporarily the column's sort, resize and drag and drop
with Gantt1 do begin BeginUpdate(); OnResizeControl := EXGANTTLib_TLB.exResizeChart; SortBarVisible := True; SortBarCaption := '<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)'; HeaderEnabled := False; HeaderAppearance := EXGANTTLib_TLB.Etched; (IUnknown(Columns.Add('Index')) as EXGANTTLib_TLB.Column).FormatColumn := '1 index ``'; (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column).FormatColumn := '1 apos ``'; Columns.Add('Edit'); GridLineStyle := EXGANTTLib_TLB.exGridLinesGeometric; DrawGridLines := EXGANTTLib_TLB.exVLines; GridLineColor := RGB(224,224,224); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/28/2000'; PaneWidth[False] := 196; GridLineStyle := EXGANTTLib_TLB.exGridLinesGeometric; DrawGridLines := EXGANTTLib_TLB.exAllLines; with Level[1] do begin DrawGridLines := True; GridLineColor := Gantt1.GridLineColor; end; end; EndUpdate(); end |
998 |
Expandable-caption
// AnchorClick event - Occurs when an anchor element is clicked. procedure TForm1.Gantt1AnchorClick(ASender: TObject; AnchorID : WideString;Options : WideString); begin with Gantt1 do begin OutputDebugString( AnchorID ); end end; with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; TreeColumnIndex := -1; DrawGridLines := EXGANTTLib_TLB.exAllLines; GridLineStyle := EXGANTTLib_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)] := EXGANTTLib_TLB.exHTML; CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionWordWrap; AddItem('after item'); end; EndUpdate(); end |
997 |
Expandable-caption
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; TreeColumnIndex := -1; DrawGridLines := EXGANTTLib_TLB.exAllLines; GridLineStyle := EXGANTTLib_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)] := EXGANTTLib_TLB.exHTML; CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionWordWrap; AddItem('after item'); end; EndUpdate(); end |
996 |
Force hover-all feature
|
995 |
Disable hover-all feature (Windows 11 or greater)
|
994 |
Display a custom tooltip
|
993 |
Shows the tooltip of the object moved relative to its default position
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.Gantt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with Gantt1 do begin ShowToolTip('<null>','<null>',Null,'+8','+8'); end end; with Gantt1 do begin ColumnAutoResize := False; (IUnknown(Columns.Add('tootip')) as EXGANTTLib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column'; end |
992 |
How do I prevent changing the cell's state ( check-box state )
// CellStateChanging event - Fired before cell's state is about to be changed. procedure TForm1.Gantt1CellStateChanging(ASender: TObject; Item : HITEM;ColIndex : Integer;var NewState : Integer); begin with Gantt1 do begin with Items do begin NewState := CellState[OleVariant(Item),OleVariant(ColIndex)]; end; end end; with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('P1')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('P2')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with Items do begin h := AddItem('Root'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; end; EndUpdate(); end |
991 |
Highlight the match once the filter is applied
// FilterChange event - Occurs when the filter was changed. procedure TForm1.Gantt1FilterChange(ASender: TObject; ); begin with Gantt1 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 Gantt1 do begin BeginUpdate(); SelBackColor := BackColor; SelForeColor := ForeColor; ColumnAutoResize := True; ContinueColumnScroll := False; MarkSearchColumn := False; SearchColumnIndex := 1; HeaderAppearance := EXGANTTLib_TLB.Etched; HeaderHeight := 23; BackColorLevelHeader := BackColor; FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); FilterBarBackColor := BackColor; FilterBarPromptPattern := 'and'; with Columns do begin with (IUnknown(Add('Name')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); FormatColumn := 'lower(value)'; end; with (IUnknown(Add('Title')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); FormatColumn := 'lower(value)'; end; with (IUnknown(Add('City')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_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 |
990 |
ADOR, MDB (JET)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin with Items do begin AddBar(Item,'Task',CellCaption[OleVariant(Item),OleVariant(2)],CellCaption[OleVariant(Item),OleVariant(4)],Null,Null); end; end end; with Gantt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 256; FirstVisibleDate := '8/10/1994'; LevelCount := 2; end; 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\ExGantt\Sample\Access\SAMPLE.MDB',3,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); EndUpdate(); end |
989 |
Re-order the cell's caption, icons and images/pictures
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; Images('gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc' + 'D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB'); with (IUnknown(Columns.Add('ToLeft')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); end; with (IUnknown(Columns.Add('ToRight')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); Def[EXGANTTLib_TLB.exCellDrawPartsOrder] := 'caption,picture,icons,icon,check'; end; DefaultItemHeight := 32; DrawGridLines := EXGANTTLib_TLB.exVLines; HeaderAppearance := EXGANTTLib_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(Gantt1.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)] := EXGANTTLib_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)] := EXGANTTLib_TLB.exHTML; CellImage[OleVariant(h),OleVariant(0)] := 2; CellImages[OleVariant(h),OleVariant(0)] := '1,2'; CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(Gantt1.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)] := EXGANTTLib_TLB.exHTML; CellHAlignment[OleVariant(h),OleVariant(1)] := EXGANTTLib_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 |
988 |
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.Gantt1AddColumn(ASender: TObject; Column : IColumn); begin // Column.Def(48) = 2 // Column.Def(49) = 2 end; // AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','1/2/2022','1/8/2022',Null,'<img>1</img>'); end end; with Gantt1 do begin BeginUpdate(); ImageSize := 32; DefaultItemHeight := 36; HeaderHeight := DefaultItemHeight; SortBarHeight := DefaultItemHeight; Font.Size := 16; FilterBarFont.Size := Gantt1.Font.Size; ToolTipFont.Size := Gantt1.Font.Size; Indent := 26; with Chart do begin FirstVisibleDate := '1/1/2022'; Bars.Item['Task'].Height := 22; end; 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[EXGANTTLib_TLB.Unchecked] := 16777216; CheckImage[EXGANTTLib_TLB.Checked] := 33554432; CheckImage[EXGANTTLib_TLB.PartialChecked] := 50331648; Background[EXGANTTLib_TLB.exSelBackColorFilter] := SelBackColor; Background[EXGANTTLib_TLB.exSelForeColorFilter] := SelForeColor; Background[EXGANTTLib_TLB.exBackColorFilter] := BackColor; Background[EXGANTTLib_TLB.exForeColorFilter] := ForeColor; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $4000000; Background[EXGANTTLib_TLB.exHeaderFilterBarActive] := $4010101; Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $40000ff; HeaderAppearance := EXGANTTLib_TLB.Etched; ShowFocusRect := False; SortBarVisible := True; BackColorSortBar := BackColor; BackColorLevelHeader := BackColor; FilterBarDropDownHeight := 1; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; Width := 128; DisplayFilterButton := True; FilterList := EXGANTTLib_TLB.exShowCheckBox; end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin FormatColumn := '1 pos ``'; AllowSort := False; Width := 48; AllowSizing := False; Alignment := EXGANTTLib_TLB.CenterAlignment; HeaderAlignment := EXGANTTLib_TLB.CenterAlignment; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); FilterType := EXGANTTLib_TLB.exImage; DisplayExpandButton := True; ExpandColumns := '1,2,3'; Width := 128; HeaderImage := 1; end; with (IUnknown(Columns.Add('Images')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_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] := EXGANTTLib_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 |
987 |
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.Gantt1AddColumn(ASender: TObject; Column : IColumn); begin // Column.Def(48) = 2 // Column.Def(49) = 2 end; // AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','1/2/2022','1/8/2022',Null,'<img>1</img>'); end end; with Gantt1 do begin BeginUpdate(); Chart.FirstVisibleDate := '1/1/2022'; 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[EXGANTTLib_TLB.exSelBackColorFilter] := SelBackColor; Background[EXGANTTLib_TLB.exSelForeColorFilter] := SelForeColor; Background[EXGANTTLib_TLB.exBackColorFilter] := BackColor; Background[EXGANTTLib_TLB.exForeColorFilter] := ForeColor; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $4000000; Background[EXGANTTLib_TLB.exHeaderFilterBarActive] := $4010101; Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $40000ff; HeaderAppearance := EXGANTTLib_TLB.Etched; ShowFocusRect := False; SortBarVisible := True; BackColorSortBar := BackColor; BackColorLevelHeader := BackColor; FilterBarDropDownHeight := 1; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; Width := 128; DisplayFilterButton := True; FilterList := EXGANTTLib_TLB.exShowCheckBox; end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin FormatColumn := '1 pos ``'; AllowSort := False; Width := 48; AllowSizing := False; Alignment := EXGANTTLib_TLB.CenterAlignment; HeaderAlignment := EXGANTTLib_TLB.CenterAlignment; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); FilterType := EXGANTTLib_TLB.exImage; DisplayExpandButton := True; ExpandColumns := '1,2,3'; Width := 128; HeaderImage := 1; end; with (IUnknown(Columns.Add('Images')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_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] := EXGANTTLib_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 |
986 |
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.Gantt1AddColumn(ASender: TObject; Column : IColumn); begin with Gantt1 do begin with Column do begin end; end end; // AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin with Items do begin AddBar(Item,'Task',CellCaption[OleVariant(Item),OleVariant(2)],CellCaption[OleVariant(Item),OleVariant(4)],Null,Null); end; end end; with Gantt1 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\ExGantt\Sample\Access\sample.accdb',3,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); with Chart do begin FirstVisibleDate := '8/4/1994'; LevelCount := 2; PaneWidth[False] := 290; end; Columns.Item['ShipVia'].Position := 2; EndUpdate(); end |
985 |
Is it possible to set from code, a column sort without being inserted in the sortbar
with Gantt1 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\ExGantt\Sample\Access\sample.accdb',1,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); SortBarVisible := True; Layout := 'singlesort="C1:1"'; EndUpdate(); end |
984 |
Is it possible to view all events the control fires
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; // Event event - Notifies the application once the control fires an event. procedure TForm1.Gantt1Event(ASender: TObject; EventID : Integer); begin with Gantt1 do begin OutputDebugString( EventParam[-2] ); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := '`<r>` + value'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
983 |
How can I prevent expanding/collapsing the child items
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed). procedure TForm1.Gantt1BeforeExpandItem(ASender: TObject; Item : HITEM;var Cancel : OleVariant); begin with Gantt1 do begin Cancel := Gantt1.Items.ItemParent[Item]; end end; with Gantt1 do begin BeginUpdate(); SingleSel := False; Columns.Add('Default'); LinesAtRoot := EXGANTTLib_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 |
982 |
How can I display an item of picture type
with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; ScrollBySingleLine := False; HeaderAppearance := EXGANTTLib_TLB.Etched; HeaderHeight := 24; (IUnknown(Columns.Add('Artikel')) as EXGANTTLib_TLB.Column).HTMLCaption := '<u>Artikel'; (IUnknown(Columns.Add('Waarde')) as EXGANTTLib_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)] := EXGANTTLib_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 |
981 |
Dark mode
with Gantt1 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 := EXGANTTLib_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[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1000000; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; Background[EXGANTTLib_TLB.exToolTipAppearance] := $3000000; Background[EXGANTTLib_TLB.exToolTipBackColor] := back; Background[EXGANTTLib_TLB.exToolTipForeColor] := fore; Background[EXGANTTLib_TLB.exSelBackColorFilter] := fore; Background[EXGANTTLib_TLB.exSelForeColorFilter] := back; Background[EXGANTTLib_TLB.exBackColorFilter] := back; Background[EXGANTTLib_TLB.exForeColorFilter] := fore; Background[EXGANTTLib_TLB.exSortBarLinkColor] := back; Background[EXGANTTLib_TLB.exTreeLinesColor] := fore; Description[EXGANTTLib_TLB.exFilterBarExclude] := '<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>'; with Chart do begin BackColor := back; BackColorLevelHeader := back; ForeColor := fore; ForeColorLevelHeader := fore; end; EndUpdate(); end |
980 |
How can I specify the cell's outline, border or lines around, when the cell gets selected
with Gantt1 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 := EXGANTTLib_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 |
979 |
How can I specify the cell's outline, border or lines around, when the item gets selected
with Gantt1 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 := EXGANTTLib_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 |
978 |
How can I specify the cell's outline, border or lines around
with Gantt1 do begin BeginUpdate(); AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}'); VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' + 'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' + 'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' + 'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' + 'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA='); SelBackMode := EXGANTTLib_TLB.exTransparent; ShowFocusRect := False; DefaultItemHeight := 24; HeaderHeight := 24; DrawGridLines := EXGANTTLib_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 |
977 |
Is it possible to highligth the match while a filter is applied
// AddColumn event - Fired after a new column has been added. procedure TForm1.Gantt1AddColumn(ASender: TObject; Column : IColumn); begin // Column.Def(17) = 1 end; // FilterChange event - Occurs when the filter was changed. procedure TForm1.Gantt1FilterChange(ASender: TObject; ); begin with Gantt1 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 Gantt1 do begin BeginUpdate(); DrawGridLines := EXGANTTLib_TLB.exVLines; HeaderAppearance := EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); FilterBarPromptType := Integer(EXGANTTLib_TLB.exFilterPromptCaseSensitive) Or Integer(EXGANTTLib_TLB.exFilterPromptContainsAll); EndUpdate(); end |
976 |
Is it possible to highlight the column's header once a filter is applied (sample 2)
with Gantt1 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[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1000000; Background[EXGANTTLib_TLB.exHeaderFilterBarActive] := $2000000; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; HeaderHeight := 28; BackColorHeader := RGB(255,255,255); DrawGridLines := EXGANTTLib_TLB.exRowLines; HeaderVisible := True; with Columns do begin (IUnknown(Add('C1')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Add('C2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; Filter := 'Item 2'; FilterType := EXGANTTLib_TLB.exFilter; end; (IUnknown(Add('C3')) as EXGANTTLib_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 |
975 |
How can I make the expand/collapse glyphs DPI aware
with Gantt1 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,Gantt1.FormatABC('`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)',OleVariant(size),Null,Null)); Add(2,Gantt1.FormatABC('`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)',OleVariant(size),Null,Null)); end; LinesAtRoot := EXGANTTLib_TLB.exGroupLinesAtRoot; HasButtons := EXGANTTLib_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 |
974 |
Is it possible to highlight the column's header once a filter is applied (sample 1)
with Gantt1 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[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1fefefe; Background[EXGANTTLib_TLB.exHeaderFilterBarActive] := $1010101; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; HeaderHeight := 28; BackColorHeader := RGB(255,255,255); DrawGridLines := EXGANTTLib_TLB.exRowLines; HeaderVisible := True; with Columns do begin (IUnknown(Add('C1')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Add('C2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; Filter := 'Item 2'; FilterType := EXGANTTLib_TLB.exFilter; end; (IUnknown(Add('C3')) as EXGANTTLib_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 |
973 |
Is it possible to show the filterbar on top of the rows
with Gantt1 do begin BeginUpdate(); FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarTop; HeaderHeight := 24; FilterBarHeight := HeaderHeight; HeaderAppearance := EXGANTTLib_TLB.Flat; DrawGridLines := EXGANTTLib_TLB.exAllLines; GridLineStyle := EXGANTTLib_TLB.exGridLinesGeometric; with (IUnknown(Columns.Add('Column')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exPattern; Filter := 'B*'; end; with (IUnknown(Columns.Add('Index')) as EXGANTTLib_TLB.Column) do begin FormatColumn := '1 index ``'; Position := 0; Width := 48; AllowSizing := False; SortType := EXGANTTLib_TLB.SortNumeric; Def[EXGANTTLib_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 |
972 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)
with Gantt1 do begin BeginUpdate(); HeaderAppearance := EXGANTTLib_TLB.Etched; with Columns do begin Add('Item'); with (IUnknown(Add('Pos')) as EXGANTTLib_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 |
971 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header
with Gantt1 do begin BeginUpdate(); HeaderAppearance := EXGANTTLib_TLB.Etched; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; with Columns do begin Add('Item'); with (IUnknown(Add('Pos')) as EXGANTTLib_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 |
970 |
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that
with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; DrawGridLines := EXGANTTLib_TLB.exHLines; GridLineStyle := EXGANTTLib_TLB.exGridLinesGeometric; VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXh' + 'aI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA=='); with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('Position')) as EXGANTTLib_TLB.Column) do begin FormatColumn := '((1 rindex ``) contains `.`) = 0'; Visible := False; end; with ConditionalFormats.Add('%C1',Null) do begin BackColor := $1e0e0e0; end; with Items do begin h := AddItem('Root 1'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); InsertItem(h,Null,'Child 3'); ExpandItem[h] := True; h := AddItem('Root 2'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); h := AddItem('Root 3'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); end; EndUpdate(); end |
969 |
I can not center or align the cell's caption and icon, when it displays the hierarchy
with Gantt1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Tasks')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); end; HeaderVisible := True; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'<img>1</img> Task (left)'); hChild := InsertItem(h,Null,'<c><img>2</img> Task (center)'); hChild := InsertItem(h,Null,'<r>Task (right) <img>3</img>'); ExpandItem[h] := True; end; EndUpdate(); end |
968 |
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.Gantt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with Gantt1 do begin i := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( i ); OutputDebugString( Items.ItemData[i] ); end end; with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; Columns.Add('Default'); with Items do begin ItemData[AddItem('method 1')] := 'your extra data of method 1'; InsertItem(0,'your extra data of method 2','method 2'); end; with Items do begin DefaultItem := AddItem('method 3'); ItemData[0] := 'your extra data of method 3'; end; EndUpdate(); end |
967 |
I do not like to specify the item padding for every column I add. The question is how can I do it automatically
with Gantt1 do begin BeginUpdate(); AttachTemplate('handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}'); HeaderAppearance := EXGANTTLib_TLB.Etched; DrawGridLines := EXGANTTLib_TLB.exAllLines; GridLineStyle := EXGANTTLib_TLB.exGridLinesVSolid; with Columns do begin Add('Item'); with (IUnknown(Add('Pos')) as EXGANTTLib_TLB.Column) do begin Position := 0; Width := 32; AllowSizing := False; FormatColumn := '1 index ``'; end; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; EndUpdate(); end |
966 |
Can I sort the column by check-state
with Gantt1 do begin BeginUpdate(); with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); SortType := EXGANTTLib_TLB.exSortByState; end; with Items do begin AddItem(Null); CellState[OleVariant(AddItem(Null)),OleVariant(0)] := 1; CellState[OleVariant(AddItem(Null)),OleVariant(0)] := 1; AddItem(Null); end; Columns.Item[OleVariant(0)].SortOrder := EXGANTTLib_TLB.SortAscending; EndUpdate(); end |
965 |
Can I sort the column by image
with Gantt1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin SortType := EXGANTTLib_TLB.exSortByImage; end; with Items do begin CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 3; AddItem(Null); CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 1; CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 2; end; Columns.Item[OleVariant(0)].SortOrder := EXGANTTLib_TLB.SortAscending; EndUpdate(); end |
964 |
How can I display UNICODE characters
with Gantt1 do begin BeginUpdate(); Chart.PaneWidth[True] := 0; with Font do begin Name := 'Arial Unicode'; Size := 22; end; HeaderVisible := False; DefaultItemHeight := 48; (IUnknown(Columns.Add('')) as EXGANTTLib_TLB.Column).Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); with Items do begin AddItem('Ӓӓ'); AddItem('ᦜᦝ;ᦞ'); AddItem('ɮɭ;ɯ'); AddItem('勳勴勵勶'); FormatCell[OleVariant(AddItem(OleVariant(Gantt1.Version))),OleVariant(0)] := '(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` '; end; EndUpdate(); end |
963 |
How do I display the position of the item with 0-padding
with Gantt1 do begin BeginUpdate(); (IUnknown(Columns.Add('Items')) as EXGANTTLib_TLB.Column).FormatColumn := '((1 apos ``) lpad `00`) + `. ` + value'; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); AddItem('Item D'); end; EndUpdate(); end |
962 |
Can't get the +/- to be displayed on a divider item. What else can I do
with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; DrawGridLines := EXGANTTLib_TLB.exAllLines; TreeColumnIndex := 0; MarkSearchColumn := False; FullRowSelect := False; HeaderAppearance := EXGANTTLib_TLB.AppearanceEnum($fffffff8 Or Integer(EXGANTTLib_TLB.Bump) Or Integer(EXGANTTLib_TLB.Sunken)); Chart.PaneWidth[True] := 0; with Columns do begin (IUnknown(Add('C1')) as EXGANTTLib_TLB.Column).Width := 32; (IUnknown(Add('C2')) as EXGANTTLib_TLB.Column).FormatColumn := '1 index ``'; end; with Items do begin h := AddItem('Cell 1'); CellSingleLine[OleVariant(h),OleVariant(1)] := EXGANTTLib_TLB.exCaptionWordWrap; h := AddItem('This is bit of text merges all cells in the item (divider shows no +/-)'); ItemDivider[h] := 0; ItemBackColor[h] := $f0f0f0; ItemDividerLine[h] := EXGANTTLib_TLB.EmptyLine; CellHAlignment[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.CenterAlignment; InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); ExpandItem[h] := True; h := AddItem('Cell 3'); h := AddItem('This is bit of text merges all cells in the item (merge shows +/-)'); ItemBackColor[h] := $f0f0f0; CellMerge[OleVariant(h),OleVariant(0)] := OleVariant(1); InsertItem(h,Null,'Child 3'); InsertItem(h,Null,'Child 4'); ExpandItem[h] := True; end; EndUpdate(); end |
961 |
ADODB Requery sample
// CellButtonClick event - Fired after the user clicks on the cell of button type. procedure TForm1.Gantt1CellButtonClick(ASender: TObject; Item : HITEM;ColIndex : Integer); begin with Gantt1 do begin cmd := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Command'))) as ADODB_TLB.Command); with cmd do begin ActiveConnection := (IUnknown((IUnknown(Gantt1.DataSource) as ADODB_TLB.Recordset).ActiveConnection) as ADODB_TLB.Connection); CommandText := 'INSERT INTO Orders (EmployeeID) VALUES(12345)'; CommandType := 1; Execute(Null,Null,Null); end; (IUnknown(DataSource) as ADODB_TLB.Recordset).Requery(Null); end end; with Gantt1 do begin BeginUpdate(); HeaderAppearance := EXGANTTLib_TLB.Etched; ColumnAutoResize := False; rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset); with rs do begin Open('Select * From Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGantt\Sample\Access\sample.accdb',1,3,Null); end; DataSource := (IUnknown(rs) as ADODB_TLB.Recordset); ConditionalFormats.Add('%1=12345',Null).BackColor := $f0f0f0; with Items do begin LockedItemCount[EXGANTTLib_TLB.TopAlignment] := 1; h := LockedItem[EXGANTTLib_TLB.TopAlignment,0]; ItemDivider[h] := 0; CellHasButton[OleVariant(h),OleVariant(0)] := True; CellCaption[OleVariant(h),OleVariant(0)] := 'Requery (add a new record, using ADODB.Command)'; CellHAlignment[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.CenterAlignment; end; EndUpdate(); end |
960 |
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do
with Gantt1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBK' + 'TjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxP' + 'F2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb' + '4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PG' + 'SY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaI' + 'CokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEs' + 'HJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgp' + 'DOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAM' + 'R1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4' + 'HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ='); Add(2,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC' + '0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3a' + 'ioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBa' + 'EEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAqB' + 'YfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeE' + 'mDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA=='); end; BackColorHeader := $1000000; ForeColorHeader := RGB(128,128,128); Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $2000000; Background[EXGANTTLib_TLB.exBackColorFilter] := $ffffff; Background[EXGANTTLib_TLB.exForeColorFilter] := $10000; Background[EXGANTTLib_TLB.exSelBackColorFilter] := $1ff8000; Background[EXGANTTLib_TLB.exSelForeColorFilter] := $f0f0f0; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; HeaderHeight := 24; BackColorLevelHeader := BackColor; with (IUnknown(Columns.Add('Filter')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; DisplayFilterPattern := False; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); Def[EXGANTTLib_TLB.exHeaderPaddingLeft] := OleVariant(2); Def[EXGANTTLib_TLB.exHeaderPaddingRight] := OleVariant(2); end; with Items do begin AddItem('A'); AddItem('B'); AddItem('C'); AddItem('D'); end; EndUpdate(); end |
959 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := False; HeaderAppearance := EXGANTTLib_TLB.Etched; with Columns do begin Add('City'); (IUnknown(Add('Start')) as EXGANTTLib_TLB.Column).Visible := False; (IUnknown(Add('End')) as EXGANTTLib_TLB.Column).Visible := False; end; Description[EXGANTTLib_TLB.exColumnsFloatBar] := 'Show/Hide'; ColumnsFloatBarSortOrder := EXGANTTLib_TLB.SortAscending; ColumnsFloatBarVisible := EXGANTTLib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns; EndUpdate(); end |
958 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := False; HeaderAppearance := EXGANTTLib_TLB.Etched; with Columns do begin Add('City'); (IUnknown(Add('Start')) as EXGANTTLib_TLB.Column).Visible := False; (IUnknown(Add('End')) as EXGANTTLib_TLB.Column).Visible := False; end; Description[EXGANTTLib_TLB.exColumnsFloatBar] := 'Show'; ColumnsFloatBarVisible := EXGANTTLib_TLB.exColumnsFloatBarVisibleIncludeHiddenColumns; ColumnsFloatBarSortOrder := EXGANTTLib_TLB.SortAscending; EndUpdate(); end |
957 |
Type of wraps the cell's caption support (Sample 2)
with Gantt1 do begin BeginUpdate(); HeaderSingleLine := False; HeaderHeight := 36; DrawGridLines := EXGANTTLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; with Columns do begin with (IUnknown(Add('Single-Line (exCaptionSingleLine)')) as EXGANTTLib_TLB.Column) do begin Width := 96; Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); Def[EXGANTTLib_TLB.exCellSingleLine] := OleVariant(-1); end; with (IUnknown(Add('Word-Wrap (exCaptionWordWrap)')) as EXGANTTLib_TLB.Column) do begin Width := 96; Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); Def[EXGANTTLib_TLB.exCellSingleLine] := OleVariant(0); FormatColumn := '%0'; end; with (IUnknown(Add('Break-Wrap (exCaptionBreakWrap)')) as EXGANTTLib_TLB.Column) do begin Width := 96; Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); Def[EXGANTTLib_TLB.exCellSingleLine] := OleVariant(1); FormatColumn := '%0'; end; end; with Items do begin AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); AddItem('This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.'); end; EndUpdate(); end |
956 |
Type of wraps the cell's caption support (Sample 1)
with Gantt1 do begin BeginUpdate(); HeaderSingleLine := False; HeaderHeight := 36; DrawGridLines := EXGANTTLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column).Width := 128; with Items do begin h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exHTML; h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionWordWrap; h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exHTML; CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionWordWrap; h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionBreakWrap; h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.'); CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exHTML; CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionBreakWrap; end; EndUpdate(); end |
955 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)
with Gantt1 do begin BeginUpdate(); DrawGridLines := EXGANTTLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column).Width := 128; with Items do begin CellSingleLine[OleVariant(AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.')),OleVariant(0)] := EXGANTTLib_TLB.exCaptionBreakWrap; AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); end; EndUpdate(); end |
954 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)
with Gantt1 do begin BeginUpdate(); DrawGridLines := EXGANTTLib_TLB.exRowLines; ColumnAutoResize := False; ScrollBySingleLine := True; with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Width := 128; Def[EXGANTTLib_TLB.exCellSingleLine] := OleVariant(1); end; with Items do begin AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.'); end; EndUpdate(); end |
953 |
How can I change the visual appearance/color of the Filter For ... field
with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; BackColorHeader := RGB(1,0,0); ForeColorHeader := RGB(255,255,255); Background[EXGANTTLib_TLB.exBackColorFilter] := BackColorHeader; Background[EXGANTTLib_TLB.exForeColorFilter] := ForeColorHeader; Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $f0f0f0; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; HeaderAppearance := EXGANTTLib_TLB.Bump; with (IUnknown(Columns.Add('Items')) as EXGANTTLib_TLB.Column) do begin FilterOnType := True; DisplayFilterButton := True; FilterList := EXGANTTLib_TLB.exNoItems; 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; EndUpdate(); end |
952 |
How can I display the cell's caption without spaces on both sides
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); FormatColumn := '((trim(value) replace ` ` with ` `) replace ` ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`'; end; with Items do begin AddItem(''); AddItem('Item A'); AddItem(' Item B'); AddItem(' Item C '); end; EndUpdate(); end |
951 |
How can I highlight the spaces within the column (sample 2)
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); FormatColumn := '`''` + ( value replace ` ` with `_` ) + `''`'; end; with Items do begin AddItem(''); AddItem('Item A'); AddItem(' Item B'); AddItem(' Item C '); end; EndUpdate(); end |
950 |
How can I highlight the spaces within the column (sample 1)
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); FormatColumn := 'len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )'; end; with Items do begin AddItem(''); AddItem('Item A'); AddItem(' Item B'); AddItem(' Item C '); end; EndUpdate(); end |
949 |
How can I change the visual aspect of the drop down filter-calendar
with Gantt1 do begin BeginUpdate(); Background[EXGANTTLib_TLB.exBackColorFilter] := $10000; Background[EXGANTTLib_TLB.exForeColorFilter] := $ffffff; Background[EXGANTTLib_TLB.exDateScrollRange] := $ffffff; Background[EXGANTTLib_TLB.exDateHeader] := Background[EXGANTTLib_TLB.exBackColorFilter]; Background[EXGANTTLib_TLB.exDateScrollThumb] := $808080; with (IUnknown(Columns.Add('Date')) as EXGANTTLib_TLB.Column) do begin FilterType := EXGANTTLib_TLB.exDate; DisplayFilterButton := True; DisplayFilterDate := True; DisplayFilterPattern := False; end; EndUpdate(); end |
948 |
Export Data in HTML format
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin with Items do begin i := ItemToIndex[Item]; AddBar(Item,'Task','1/2/2008','1/9/2008','',Null); ItemBar[Item,'',EXGANTTLib_TLB.exBarDuration] := OleVariant(i); ItemBar[Item,'',EXGANTTLib_TLB.exBarMove] := OleVariant(i); CellCaption[OleVariant(Item),OleVariant(1)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarStart]; CellCaption[OleVariant(Item),OleVariant(2)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarEnd]; end; end end; with Gantt1 do begin BeginUpdate(); BackColorAlternate := RGB(240,240,240); DrawGridLines := EXGANTTLib_TLB.exAllLines; HeaderAppearance := EXGANTTLib_TLB.Etched; Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 't + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); FilterBarPromptType := EXGANTTLib_TLB.exFilterPromptContainsAny; DrawGridLines := EXGANTTLib_TLB.exAllLines; with Chart do begin DrawGridLines := EXGANTTLib_TLB.exAllLines; PaneWidth[False] := 196; LevelCount := 2; FirstVisibleDate := '1/1/2008'; FirstWeekDay := EXGANTTLib_TLB.exMonday; end; with ConditionalFormats.Add('(%2 - %1) = 3','K3') do begin ForeColor := $ff; BarColor := ForeColor; ApplyToBars := 'Task'; end; with ConditionalFormats.Add('(%2 - %1) = 5','K5') do begin ForeColor := $ff00; BarColor := ForeColor; ApplyToBars := 'Task'; end; with Columns do begin (IUnknown(Add('Tasks')) as EXGANTTLib_TLB.Column).Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); Add('Start'); Add('End'); end; with Items do begin AddItem('Task 1'); AddItem('Task 2'); AddItem('Task 3'); AddItem('Task 4'); AddItem('Task 5'); AddItem('Task 6'); AddItem('Task 7'); AddItem('Task 8'); end; EndUpdate(); sFile := 'c:/temp/export.html'; Export(OleVariant(sFile),'vis'); with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('InternetExplorer.Application'))) as SHDocVw_TLB.ShellBrowserWindow) do begin Navigate2(sFile,Null,Null,Null,Null); end; end |
947 |
Export Data in CSV format
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin with Items do begin i := ItemToIndex[Item]; AddBar(Item,'Task','1/2/2008','1/9/2008','',Null); ItemBar[Item,'',EXGANTTLib_TLB.exBarDuration] := OleVariant(i); ItemBar[Item,'',EXGANTTLib_TLB.exBarMove] := OleVariant(i); CellCaption[OleVariant(Item),OleVariant(1)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarStart]; CellCaption[OleVariant(Item),OleVariant(2)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarEnd]; end; end end; with Gantt1 do begin BeginUpdate(); BackColorAlternate := RGB(240,240,240); DrawGridLines := EXGANTTLib_TLB.exAllLines; HeaderAppearance := EXGANTTLib_TLB.Etched; Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 't + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); FilterBarPromptType := EXGANTTLib_TLB.exFilterPromptContainsAny; with Chart do begin PaneWidth[False] := 196; LevelCount := 2; FirstVisibleDate := '1/1/2008'; end; with ConditionalFormats.Add('(%2 - %1) = 3','K3') do begin ForeColor := $ff; BarColor := ForeColor; ApplyToBars := 'Task'; end; with ConditionalFormats.Add('(%2 - %1) = 5','K5') do begin ForeColor := $ff00; BarColor := ForeColor; ApplyToBars := 'Task'; end; with Columns do begin (IUnknown(Add('Tasks')) as EXGANTTLib_TLB.Column).Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); Add('Start'); Add('End'); end; with Items do begin AddItem('Task 1'); AddItem('Task 2'); AddItem('Task 3'); AddItem('Task 4'); AddItem('Task 5'); AddItem('Task 6'); AddItem('Task 7'); AddItem('Task 8'); end; EndUpdate(); OutputDebugString( Export('','vis') ); end |
946 |
Is it possible to check multiple-items at once
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin bHasParent := FormatABC('value != 0',Items.ItemParent[Item],Null,Null); with Items do begin CellHasCheckBox[OleVariant(Item),OleVariant(0)] := False; end; end end; with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Tasks')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1); FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)'; end; HeaderVisible := True; SingleSel := False; with Items do begin h := AddItem('Project'); hChild := InsertItem(h,Null,'Task 1'); hChild := InsertItem(h,Null,'Task 2'); hChild := InsertItem(h,Null,'Task 3'); ExpandItem[h] := True; LockedItemCount[EXGANTTLib_TLB.TopAlignment] := 1; CellCaption[OleVariant(LockedItem[EXGANTTLib_TLB.TopAlignment,0]),OleVariant(0)] := '<c>Select multiple items and press the <b>SPACE</b> key'; end; EndUpdate(); end |
945 |
How can I get the icon from the cell when using the Items.CellImages property (icon index)
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.Gantt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with Gantt1 do begin i := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( FormatABC('( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`',OleVariant(hit),Items.CellImages[OleVariant(i),OleVariant(c)],Null) ); end end; with Gantt1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); Chart.PaneWidth[True] := 0; Columns.Add('Default'); with Items do begin CellImages[OleVariant(AddItem('Item 1')),OleVariant(0)] := '3,2,1'; CellImages[OleVariant(AddItem('Item 2')),OleVariant(0)] := '2,3'; CellImages[OleVariant(AddItem('Item 3')),OleVariant(0)] := '2,'; end; EndUpdate(); end |
944 |
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)
// MouseMove event - Occurs when the user moves the mouse. procedure TForm1.Gantt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin with Gantt1 do begin i := ItemFromPoint[-1,-1,c,hit]; OutputDebugString( FormatABC('( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`',OleVariant(hit),Null,Null) ); end end; with Gantt1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); Chart.PaneWidth[True] := 0; Columns.Add('Default'); with Items do begin CellImages[OleVariant(AddItem('Item 1')),OleVariant(0)] := '3,2,1'; CellImages[OleVariant(AddItem('Item 2')),OleVariant(0)] := '2,3'; CellImages[OleVariant(AddItem('Item 3')),OleVariant(0)] := '2'; end; EndUpdate(); end |
943 |
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
with Gantt1 do begin BeginUpdate(); HeaderAppearance := EXGANTTLib_TLB.Etched; with Columns do begin Add('Column 1'); Add('Column 2'); Add('Column 3'); end; with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' + 'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' + 'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' + 'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB' + 'ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG' + 'KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI='); Add(2,'CP:1 0 -36 0 0'); end; Background[EXGANTTLib_TLB.exColumnsPositionSign] := $2000000; EndUpdate(); end |
942 |
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; DefaultItemHeight := 20; VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY' + '1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hh' + 'WfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6' + 'DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJ' + 'SEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0' + 'pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA=='); with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('Position')) as EXGANTTLib_TLB.Column) do begin FormatColumn := '1 rindex ``'; Visible := False; end; with ConditionalFormats.Add('%C1 mod 2',Null) do begin BackColor := $1000000; end; with Items do begin AddItem('Item 1'); AddItem('Item 2'); AddItem('Item 3'); AddItem('Item 4'); end; EndUpdate(); end |
941 |
How can I specify alternate background colors for each root item, similar with BackColorAlternate
with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); PartialCheck := True; end; with (IUnknown(Columns.Add('Position')) as EXGANTTLib_TLB.Column) do begin FormatColumn := '( ( 1:=( ( 0:=(1 rpos '''') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )'; Visible := False; end; with ConditionalFormats.Add('%C1 mod 2',Null) do begin BackColor := $f0f0f0; 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'); h := AddItem('Root 3'); InsertItem(h,Null,'Child 1'); InsertItem(h,Null,'Child 2'); end; EndUpdate(); end |
940 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)
with Gantt1 do begin BeginUpdate(); LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; VisualDesign := 'gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcT' + 'SBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiC' + 'QQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4b' + 'g2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N' + '4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhgh' + 'WDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMh' + 'Ag6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOgglo' + 'Foqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTK' + 'MszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhF' + 'kXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEg' + 'EYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxS' + 'CxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNUB' + 'oQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ='; 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 |
939 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)
with Gantt1 do begin BeginUpdate(); with VisualAppearance do begin Add(3,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' + 'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' + 'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' + 'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA='); Add(1,'CP:3 -2 -2 2 2'); Add(4,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' + 'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' + 'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' + 'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI='); Add(2,'CP:4 -2 -2 2 2'); end; LinesAtRoot := EXGANTTLib_TLB.exGroupLinesAtRoot; HasButtons := EXGANTTLib_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 |
938 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)
with Gantt1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'XP:TREEVIEW 2 1'); Add(2,'XP:TREEVIEW 2 2'); end; Background[EXGANTTLib_TLB.exTreeGlyphOpen] := $1000000; Background[EXGANTTLib_TLB.exTreeGlyphClose] := $2000000; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; 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 |
937 |
How can I find if the control is running in DPI mode
|
936 |
How can I change the visual appearance of the +/- buttons (method 1)
with Gantt1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' + 'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' + 'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' + 'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA='); Add(2,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' + 'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' + 'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' + 'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI='); end; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; Background[EXGANTTLib_TLB.exTreeGlyphOpen] := $1000000; Background[EXGANTTLib_TLB.exTreeGlyphClose] := $2000000; 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 |
935 |
How can I display the control's filter bar in the Items section only, as it was displayed before
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarShort; with Columns.Item[OleVariant(1)] do begin FilterType := EXGANTTLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
934 |
FilterBarCaption ALL Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exImage; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<' + 's>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchit' + 'emcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount ' + '+ ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
933 |
FilterBarCaption ALL Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exImage; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'all'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
932 |
FilterBarCaption ALLUI Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exImage; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + '[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( match' + 'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 't + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
931 |
FilterBarCaption ALLUI Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exImage; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'allui'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
930 |
FilterBarCaption AVAILABLE Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exImage; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( avai' + 'lable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with ``' + ' replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount ' + '+ 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
929 |
FilterBarCaption AVAILABLE Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null); Items.CellImage[OleVariant(Item),OleVariant(3)] := i; Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterType := EXGANTTLib_TLB.exImage; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; h := AddItem('Item B'); CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B'; CellState[OleVariant(h),OleVariant(2)] := 1; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'value + ` ` + available'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; Columns.Item[OleVariant(2)].Filter := 1; ApplyFilter(); EndUpdate(); end |
928 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := '(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ' + '` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace' + ' `]` with ` </b></bgcolor></fgcolor>`'; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarToggle; with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; with Columns.Item[OleVariant(1)] do begin FilterType := EXGANTTLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
927 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`'; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarToggle; with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; with Columns.Item[OleVariant(1)] do begin FilterType := EXGANTTLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
926 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A'; CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B'; CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C'; end; Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null); FilterBarCaption := 'value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`'; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarToggle; with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; with Columns.Item[OleVariant(1)] do begin FilterType := EXGANTTLib_TLB.exPattern; Filter := '*B'; end; ApplyFilter(); EndUpdate(); end |
925 |
Is it possible to automatically displays the control's filter label to the right
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := '`<r>` + value'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGANTTLib_TLB.exFilterBarToggle); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
924 |
How can I get the number of results/items being shown in the control's filter bar (sample 4)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc); end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarPrompt := FormatABC('`<b>` + value',OleVariant(FilterBarPrompt),Null,Null); FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' + ' 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); EndUpdate(); end |
923 |
How can I get the number of results being shown in the control's filter bar (sample 3)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' + ' 1) + ` result(s)` ) : ``)'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
922 |
How can I get the number of results being shown in the control's filter bar (sample 2, compact)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
921 |
How can I get the number of results being shown in the control's filter bar (sample 1)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
920 |
FilterBarCaption Predefined Keywords
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; // AfterExpandItem event - Fired after an item is expanded (collapsed). procedure TForm1.Gantt1AfterExpandItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Refresh(); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do begin Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True); DisplayFilterButton := True; DisplayFilterPattern := False; FilterType := EXGANTTLib_TLB.exCheck; end; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); h := AddItem('Item B'); CellState[OleVariant(InsertItem(h,Null,'Sub-Item B1')),OleVariant(1)] := 1; InsertItem(h,Null,'Sub-Item B2'); ExpandItem[h] := True; AddItem('Item C'); end; FilterInclude := EXGANTTLib_TLB.exItemsWithChilds; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i' + '></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>:' + ' ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><' + 'i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i' + '></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=80' + '8080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + ' + '`</fgcolor>`'; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
919 |
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont); FilterBarCaption := '`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value'; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
918 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); FilterBarPrompt := FormatABC('`<r>` + value',OleVariant(FilterBarPrompt),Null,Null); EndUpdate(); end |
917 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; RightToLeft := True; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); EndUpdate(); end |
916 |
How can I change the visual appearance of the filter bar's close button (EBN)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJj' + 'yI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmS' + 'ZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8ORO' + 'icbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2D' + 'YxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXA' + 'iAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJ' + 'DCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0' + 'TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAk' + 'jIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSM' + 'RsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQ' + 'HkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ'); end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $1000000; EndUpdate(); end |
915 |
How can I change the visual appearance of the filter bar's close button (solid)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarPromptVisible; Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $ff; EndUpdate(); end |
914 |
Is it possible to prevent definitely showing the filter bar's close button
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarPromptVisible; Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $ffffffff; EndUpdate(); end |
913 |
Is it possible to show the close button only if there is a filter applied
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); EndUpdate(); end |
912 |
The control's filter bar is not closed once I click the close button (toggle)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); LockedItemCount[EXGANTTLib_TLB.BottomAlignment] := 1; h := LockedItem[EXGANTTLib_TLB.BottomAlignment,0]; ItemDivider[h] := 0; CellCaption[OleVariant(h),OleVariant(0)] := '<c><fgcolor=808080>Press the CTRL + F to turn on/off the control''s filter bar. ALT + Up/Down moves the focus.'; CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exHTML; end; FilterBarCaption := '`<r><fgcolor=808080>` + value'; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
911 |
How can I display the control's filter on a single line
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := 'len(value) ? `filter for: <fgcolor 808080>` + value : `<fgcolor 808080>no filter`'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
910 |
How can I display the control's filter on a single line (prompt-combined)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := '`<r>` + value'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item A|Item B'; end; ApplyFilter(); EndUpdate(); end |
909 |
How can I get the number of results after a filter is applied
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; // Click event - Occurs when the user presses and then releases the left mouse button over the tree control. procedure TForm1.Gantt1Click(ASender: TObject; ); begin with Gantt1 do begin ClearFilter(); end end; // FilterChange event - Occurs when the filter was changed. procedure TForm1.Gantt1FilterChange(ASender: TObject; ); begin with Gantt1 do begin OutputDebugString( 'Items.MatchItemCount' ); OutputDebugString( Items.MatchItemCount ); OutputDebugString( FormatABC('value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`',Items.MatchItemCount,Null,Null) ); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarPromptVisible; FilterBarPromptPattern := 'Item'; EndUpdate(); end |
908 |
How can I programmatically clear the control's filter
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; // Click event - Occurs when the user presses and then releases the left mouse button over the tree control. procedure TForm1.Gantt1Click(ASender: TObject; ); begin with Gantt1 do begin ClearFilter(); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarPromptVisible; FilterBarPromptPattern := 'B'; EndUpdate(); end |
907 |
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptPattern := 'B'; FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible); with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
906 |
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarPromptVisible; FilterBarPromptPattern := 'B'; EndUpdate(); end |
905 |
Is it possible to prevent closing the control's filter bar, so it is always shown
// AddItem event - Occurs after a new Item has been inserted to Items collection. procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM); begin with Gantt1 do begin Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null); end end; with Gantt1 do begin BeginUpdate(); with Chart do begin LevelCount := 2; FirstVisibleDate := '12/2/2017'; PaneWidth[False] := 256; end; (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True; with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_TLB.Column) do begin AllowSizing := False; AllowSort := False; Width := 32; FormatColumn := '1 apos ``'; Position := 0; end; with Items do begin AddItem('Item A'); AddItem('Item B'); AddItem('Item C'); end; FilterBarCaption := 'len(value) = 0 ? `<fgcolor=808080>no filter` : value'; FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarVisible; with Columns.Item[OleVariant(0)] do begin FilterType := EXGANTTLib_TLB.exFilter; Filter := 'Item B'; end; ApplyFilter(); EndUpdate(); end |
904 |
How do I change the drop down filter icon/button (black)
with Gantt1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA'); end; Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff; Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1000000; Background[EXGANTTLib_TLB.exBackColorFilter] := $10000; Background[EXGANTTLib_TLB.exForeColorFilter] := $ffffff; Description[EXGANTTLib_TLB.exFilterBarExclude] := '<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>'; HeaderAppearance := EXGANTTLib_TLB.None2; BackColorHeader := RGB(0,0,0); ForeColorHeader := RGB(255,255,255); HeaderVisible := True; BackColorLevelHeader := BackColor; with (IUnknown(Columns.Add('Filter')) as EXGANTTLib_TLB.Column) do begin FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowCheckBox); DisplayFilterButton := True; AllowSort := False; AllowDragging := False; end; with Chart do begin PaneWidth[False] := 196; LevelCount := 2; BackColorLevelHeader := Gantt1.BackColorHeader; ForeColorLevelHeader := Gantt1.ForeColorHeader; end; with Items do begin AddItem('One'); AddItem('Two'); AddItem('Three'); end; EndUpdate(); end |
903 |
How do I change the drop down filter icon/button (white)
with Gantt1 do begin BeginUpdate(); with VisualAppearance do begin Add(2,'gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ' + '0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN' + 'YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h' + 'hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb' + 'hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB' + 'MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI='); Add(1,'CP:2 -4 -4 2 4'); end; Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1000000; Background[EXGANTTLib_TLB.exCursorHoverColumn] := BackColor; HeaderAppearance := EXGANTTLib_TLB.None2; BackColorHeader := RGB(255,255,255); BackColorLevelHeader := BackColor; HeaderHeight := 24; HeaderVisible := True; with Chart do begin PaneWidth[False] := 196; LevelCount := 2; BackColorLevelHeader := Gantt1.BackColorHeader; ForeColorLevelHeader := Gantt1.ForeColorHeader; end; with (IUnknown(Columns.Add('Filter')) as EXGANTTLib_TLB.Column) do begin DisplayFilterButton := True; AllowSort := False; AllowDragging := False; end; EndUpdate(); end |
902 |
How can I display the week-number in ISO8601 format
with Gantt1 do begin BeginUpdate(); with Chart do begin PaneWidth[False] := 0; LevelCount := 2; FirstVisibleDate := '12/12/2007'; DrawGridLines := EXGANTTLib_TLB.exAllLines; UnitScale := EXGANTTLib_TLB.exWeek; WeekNumberAs := EXGANTTLib_TLB.exISO8601WeekNumber; FirstWeekDay := EXGANTTLib_TLB.exMonday; end; EndUpdate(); end |
901 |
How can I include the child items, when a filter is applied
with Gantt1 do begin BeginUpdate(); ColumnAutoResize := True; ContinueColumnScroll := False; MarkSearchColumn := False; SearchColumnIndex := 1; Indent := 16; LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot; FilterBarPromptVisible := True; FilterBarPromptPattern := 'Nancy'; FilterInclude := EXGANTTLib_TLB.exItemsWithChilds; Chart.LevelCount := 2; with Columns do begin (IUnknown(Add('Name')) as EXGANTTLib_TLB.Column).Width := 96; (IUnknown(Add('Title')) as EXGANTTLib_TLB.Column).Width := 96; Add('City'); end; with Items do begin h0 := AddItem('Nancy Davolio'); CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellCaption[OleVariant(h0),OleVariant(2)] := 'Seattle'; h0 := InsertItem(h0,Null,'Andrew Fuller'); CellCaption[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales'; CellCaption[OleVariant(h0),OleVariant(2)] := 'Tacoma'; h0 := InsertItem(h0,Null,'Michael Suyama'); CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellCaption[OleVariant(h0),OleVariant(2)] := 'London'; h0 := AddItem('Janet Leverling'); CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellCaption[OleVariant(h0),OleVariant(2)] := 'Kirkland'; h0 := InsertItem(h0,Null,'Margaret Peacock'); CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative'; CellCaption[OleVariant(h0),OleVariant(2)] := 'Redmond'; end; ApplyFilter(); EndUpdate(); end |