1002 |
Highlight the leaf items
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->GetConditionalFormats()->Add(L"%CC0=0",vtMissing)->PutForeColor(RGB(128,128,128)); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutHeaderHeight(24); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Item")))->PutWidth(16); var_Columns->Add(L"Desc"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long hR = var_Items->AddItem("Root"); var_Items->PutCellCaption(hR,long(1),"The root directory /"); long h = var_Items->InsertItem(hR,vtMissing,"Home"); var_Items->PutCellCaption(h,long(1),"The home directory with user directories Alice and Bob"); var_Items->InsertItem(h,vtMissing,"Alice"); var_Items->InsertItem(h,vtMissing,"Bob"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->InsertItem(hR,vtMissing,"Etc"); var_Items->PutCellCaption(h,long(1),"The etc directory with one configuration file"); h = var_Items->InsertItem(h,vtMissing,"nginx.conf"); var_Items->PutCellCaption(var_Items->InsertItem(hR,vtMissing,"Var"),long(1),"The var directory"); var_Items->PutExpandItem(hR,VARIANT_TRUE); spGantt1->EndUpdate(); |
1001 |
Highlight the parent items
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->GetConditionalFormats()->Add(L"%CC0",vtMissing)->PutForeColor(RGB(255,0,0)); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutHeaderHeight(24); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Item")))->PutWidth(16); var_Columns->Add(L"Desc"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long hR = var_Items->AddItem("Root"); var_Items->PutCellCaption(hR,long(1),"The root directory /"); long h = var_Items->InsertItem(hR,vtMissing,"Home"); var_Items->PutCellCaption(h,long(1),"The home directory with user directories Alice and Bob"); var_Items->InsertItem(h,vtMissing,"Alice"); var_Items->InsertItem(h,vtMissing,"Bob"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->InsertItem(hR,vtMissing,"Etc"); var_Items->PutCellCaption(h,long(1),"The etc directory with one configuration file"); h = var_Items->InsertItem(h,vtMissing,"nginx.conf"); var_Items->PutCellCaption(var_Items->InsertItem(hR,vtMissing,"Var"),long(1),"The var directory"); var_Items->PutExpandItem(hR,VARIANT_TRUE); spGantt1->EndUpdate(); |
1000 |
Highlight the item being expanded or collapsed
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->GetConditionalFormats()->Add(L"%CX0",vtMissing)->PutBold(VARIANT_TRUE); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutHeaderHeight(24); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Item")))->PutWidth(16); var_Columns->Add(L"Desc"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long hR = var_Items->AddItem("Root"); var_Items->PutCellCaption(hR,long(1),"The root directory /"); long h = var_Items->InsertItem(hR,vtMissing,"Home"); var_Items->PutCellCaption(h,long(1),"The home directory with user directories Alice and Bob"); var_Items->InsertItem(h,vtMissing,"Alice"); var_Items->InsertItem(h,vtMissing,"Bob"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->InsertItem(hR,vtMissing,"Etc"); var_Items->PutCellCaption(h,long(1),"The etc directory with one configuration file"); h = var_Items->InsertItem(h,vtMissing,"nginx.conf"); var_Items->PutCellCaption(var_Items->InsertItem(hR,vtMissing,"Var"),long(1),"The var directory"); var_Items->PutExpandItem(hR,VARIANT_TRUE); spGantt1->EndUpdate(); |
999 |
Disable temporarily the column's sort, resize and drag and drop
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutOnResizeControl(EXGANTTLib::exResizeChart); spGantt1->PutSortBarVisible(VARIANT_TRUE); spGantt1->PutSortBarCaption(L"<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)"); spGantt1->PutHeaderEnabled(VARIANT_FALSE); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Index")))->PutFormatColumn(L"1 index ``"); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")))->PutFormatColumn(L"1 apos ``"); spGantt1->GetColumns()->Add(L"Edit"); spGantt1->PutGridLineStyle(EXGANTTLib::exGridLinesGeometric); spGantt1->PutDrawGridLines(EXGANTTLib::exVLines); spGantt1->PutGridLineColor(RGB(224,224,224)); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,28,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutGridLineStyle(EXGANTTLib::exGridLinesGeometric); var_Chart->PutDrawGridLines(EXGANTTLib::exAllLines); EXGANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(1); var_Level->PutDrawGridLines(VARIANT_TRUE); var_Level->PutGridLineColor(spGantt1->GetGridLineColor()); spGantt1->EndUpdate(); |
998 |
Expandable-caption
// AnchorClick event - Occurs when an anchor element is clicked. void OnAnchorClickGantt1(LPCTSTR AnchorID,LPCTSTR Options) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); OutputDebugStringW( L"AnchorID" ); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->PutTreeColumnIndex(-1); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutGridLineStyle(EXGANTTLib::exGridLinesGeometric); spGantt1->PutBackColorAlternate(RGB(240,240,240)); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->GetColumns()->Add(L"Default"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("before item"); long h = var_Items->AddItem(_bstr_t("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4Aj") + "MGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEB" + "A==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DAB" + "vABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==> " + "650;</a><br>+ withdraw(amount: Currency)"); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionWordWrap); var_Items->AddItem("after item"); spGantt1->EndUpdate(); |
997 |
Expandable-caption
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->PutTreeColumnIndex(-1); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutGridLineStyle(EXGANTTLib::exGridLinesGeometric); spGantt1->PutBackColorAlternate(RGB(240,240,240)); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->GetColumns()->Add(L"Default"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("before item"); long h = var_Items->AddItem("<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3"); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionWordWrap); var_Items->AddItem("after item"); spGantt1->EndUpdate(); |
996 |
Force hover-all feature
|
995 |
Disable hover-all feature (Windows 11 or greater)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->PutBackground(EXGANTTLib::exScrollHoverAll,RGB(1,0,0)); |
994 |
Display a custom tooltip
|
993 |
Shows the tooltip of the object moved relative to its default position
|
992 |
How do I prevent changing the cell's state ( check-box state )
|
991 |
Highlight the match once the filter is applied
// FilterChange event - Occurs when the filter was changed. void OnFilterChangeGantt1() { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t format = spGantt1->FormatABC(L"`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>'`",spGantt1->GetFilterBarPromptPattern(),vtMissing,vtMissing); spGantt1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"format"); spGantt1->GetColumns()->GetItem(long(1))->PutFormatColumn(L"format"); spGantt1->GetColumns()->GetItem(long(2))->PutFormatColumn(L"format"); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutSelBackColor(spGantt1->GetBackColor()); spGantt1->PutSelForeColor(spGantt1->GetForeColor()); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->PutContinueColumnScroll(VARIANT_FALSE); spGantt1->PutMarkSearchColumn(VARIANT_FALSE); spGantt1->PutSearchColumnIndex(1); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutHeaderHeight(23); spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor()); spGantt1->PutFilterBarCaption(L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->PutFilterBarBackColor(spGantt1->GetBackColor()); spGantt1->PutFilterBarPromptPattern(L"and"); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Name"))); var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column->PutFormatColumn(L"lower(value)"); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Title"))); var_Column1->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column1->PutFormatColumn(L"lower(value)"); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"City"))); var_Column2->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column2->PutFormatColumn(L"lower(value)"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h0 = var_Items->AddItem("Nancy Davolio"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"Seattle"); h0 = var_Items->AddItem("Andrew Fuller"); var_Items->PutCellCaption(h0,long(1),"Vice President, Sales"); var_Items->PutCellCaption(h0,long(2),"Tacoma"); var_Items->PutSelectItem(h0,VARIANT_TRUE); h0 = var_Items->AddItem("Janet Leverling"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"Kirkland"); h0 = var_Items->AddItem("Margaret Peacock"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"Redmond"); h0 = var_Items->AddItem("Steven Buchanan"); var_Items->PutCellCaption(h0,long(1),"Sales Manager"); var_Items->PutCellCaption(h0,long(2),"London"); h0 = var_Items->AddItem("Michael Suyama"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"London"); h0 = var_Items->AddItem("Robert King"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"London"); h0 = var_Items->AddItem("Laura Callahan"); var_Items->PutCellCaption(h0,long(1),"Inside Sales Coordinator"); var_Items->PutCellCaption(h0,long(2),"Seattle"); h0 = var_Items->AddItem("Anne Dodsworth"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"London"); spGantt1->EndUpdate(); |
990 |
ADOR, MDB (JET)
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddBar(Item,"Task",var_Items->GetCellCaption(Item,long(2)),var_Items->GetCellCaption(Item,long(4)),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,256); var_Chart->PutFirstVisibleDate(COleDateTime(1994,8,10,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); spGantt1->PutColumnAutoResize(VARIANT_FALSE); spGantt1->PutContinueColumnScroll(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset"); rs->Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0); spGantt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); spGantt1->EndUpdate(); |
989 |
Re-order the cell's caption, icons and images/pictures
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->Images(_bstr_t("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmD" + "cD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB"); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"ToLeft"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"ToRight"))); var_Column1->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column1->PutDef(EXGANTTLib::exCellDrawPartsOrder,"caption,picture,icons,icon,check"); spGantt1->PutDefaultItemHeight(32); spGantt1->PutDrawGridLines(EXGANTTLib::exVLines); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Caption"); var_Items->PutCellImage(h,long(0),2); var_Items->PutCellImages(h,long(0),"1,2"); var_Items->PutCellPicture(h,long(0),((ObjectPtr)(spGantt1->ExecuteTemplate(_bstr_t("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLs") + "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`)")))); var_Items->PutCellCaption(h,long(1),var_Items->GetCellCaption(h,long(0))); var_Items->PutCellHAlignment(h,long(1),EXGANTTLib::RightAlignment); var_Items->PutCellImage(h,long(1),var_Items->GetCellImage(h,long(0))); var_Items->PutCellImages(h,long(1),"2,1"); var_Items->PutCellPicture(h,long(1),((ObjectPtr)(var_Items->GetCellPicture(h,long(0))))); h = var_Items->AddItem("<b>HTML</b> <off 4>Caption"); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); var_Items->PutCellImage(h,long(0),2); var_Items->PutCellImages(h,long(0),"1,2"); var_Items->PutCellPicture(h,long(0),((ObjectPtr)(spGantt1->ExecuteTemplate(_bstr_t("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLs") + "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`)")))); var_Items->PutCellCaption(h,long(1),var_Items->GetCellCaption(h,long(0))); var_Items->PutCellCaptionFormat(h,long(1),EXGANTTLib::exHTML); var_Items->PutCellHAlignment(h,long(1),EXGANTTLib::RightAlignment); var_Items->PutCellImage(h,long(1),var_Items->GetCellImage(h,long(0))); var_Items->PutCellImages(h,long(1),"2,1"); var_Items->PutCellPicture(h,long(1),((ObjectPtr)(var_Items->GetCellPicture(h,long(0))))); spGantt1->EndUpdate(); |
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. void OnAddColumnGantt1(LPDISPATCH Column) { // Column.Def(48) = 2 // Column.Def(49) = 2 } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2022,1,2,0,00,00).operator DATE(),COleDateTime(2022,1,8,0,00,00).operator DATE(),vtMissing,"<img>1</img>"); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutImageSize(32); spGantt1->PutDefaultItemHeight(36); spGantt1->PutHeaderHeight(spGantt1->GetDefaultItemHeight()); spGantt1->PutSortBarHeight(spGantt1->GetDefaultItemHeight()); spGantt1->GetFont()->PutSize(_variant_t(long(16))); spGantt1->GetFilterBarFont()->PutSize(_variant_t(spGantt1->GetFont()->GetSize())); spGantt1->GetToolTipFont()->PutSize(_variant_t(spGantt1->GetFont()->GetSize())); spGantt1->PutIndent(26); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2022,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->GetItem("Task")->PutHeight(22); spGantt1->Images(_bstr_t("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") + "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"); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") + "6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" + "MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" + "RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" + "FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" + "kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" + "ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" + "0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" + "8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" + "UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ=="); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") + "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" + "gRBCCQAgQEA=="); var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") + "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"); var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") + "LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" + "UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" + "3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" + "YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" + "mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" + "oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" + "Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" + "FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="); spGantt1->PutBackColorHeader(0x4c6c6c6); spGantt1->PutSelBackColor(0x4000000); spGantt1->PutSelForeColor(RGB(0,0,1)); spGantt1->PutCheckImage(EXGANTTLib::Unchecked,16777216); spGantt1->PutCheckImage(EXGANTTLib::Checked,33554432); spGantt1->PutCheckImage(EXGANTTLib::PartialChecked,50331648); spGantt1->PutBackground(EXGANTTLib::exSelBackColorFilter,spGantt1->GetSelBackColor()); spGantt1->PutBackground(EXGANTTLib::exSelForeColorFilter,spGantt1->GetSelForeColor()); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,spGantt1->GetBackColor()); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,spGantt1->GetForeColor()); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x4000000); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarActive,0x4010101); spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,0x40000ff); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->PutSortBarVisible(VARIANT_TRUE); spGantt1->PutBackColorSortBar(spGantt1->GetBackColor()); spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor()); spGantt1->PutFilterBarDropDownHeight(1); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); var_Column->PutWidth(128); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::exShowCheckBox); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column1->PutFormatColumn(L"1 pos ``"); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(48); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAlignment(EXGANTTLib::CenterAlignment); var_Column1->PutHeaderAlignment(EXGANTTLib::CenterAlignment); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); var_Column2->PutFilterType(EXGANTTLib::exImage); var_Column2->PutDisplayExpandButton(VARIANT_TRUE); var_Column2->PutExpandColumns(L"1,2,3"); var_Column2->PutWidth(128); var_Column2->PutHeaderImage(1); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Images"))); var_Column3->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column3->PutWidth(196); var_Column3->PutHTMLCaption(L"<img>1</img><img>2</img><img>3</img> Images"); spGantt1->GetColumns()->GetItem("Pos")->PutPosition(3); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long hR = var_Items->AddItem("Root"); var_Items->PutItemDivider(hR,0); var_Items->PutItemDividerLine(hR,EXGANTTLib::EmptyLine); long h = var_Items->InsertItem(hR,vtMissing,"Child A"); var_Items->PutCellImage(h,long(2),1); var_Items->PutCellImages(h,long(3),"1,2,3"); var_Items->PutCellCaption(h,long(3),"123"); h = var_Items->InsertItem(hR,vtMissing,"Child B"); var_Items->PutCellState(h,long(0),1); var_Items->PutCellImage(h,long(2),3); var_Items->PutCellImages(h,long(3),"2,3,1"); var_Items->PutCellCaption(h,long(3),"231"); var_Items->PutSelectItem(h,VARIANT_TRUE); h = var_Items->InsertItem(hR,vtMissing,"Child C"); var_Items->PutCellImage(h,long(2),2); var_Items->PutCellState(h,long(3),1); var_Items->PutCellCaption(h,long(3),"312"); var_Items->PutCellImages(h,long(3),"3,1,2"); var_Items->PutExpandItem(hR,VARIANT_TRUE); spGantt1->EndUpdate(); |
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. void OnAddColumnGantt1(LPDISPATCH Column) { // Column.Def(48) = 2 // Column.Def(49) = 2 } // AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2022,1,2,0,00,00).operator DATE(),COleDateTime(2022,1,8,0,00,00).operator DATE(),vtMissing,"<img>1</img>"); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->GetChart()->PutFirstVisibleDate(COleDateTime(2022,1,1,0,00,00).operator DATE()); spGantt1->PutImageSize(16); spGantt1->Images(_bstr_t("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq") + "dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" + "tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" + "cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" + "GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" + "nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") + "LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" + "UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" + "3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" + "YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" + "mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" + "oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" + "Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" + "FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="); spGantt1->PutBackColorHeader(0x4c6c6c6); spGantt1->PutSelBackColor(0x4000000); spGantt1->PutSelForeColor(RGB(0,0,1)); spGantt1->PutBackground(EXGANTTLib::exSelBackColorFilter,spGantt1->GetSelBackColor()); spGantt1->PutBackground(EXGANTTLib::exSelForeColorFilter,spGantt1->GetSelForeColor()); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,spGantt1->GetBackColor()); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,spGantt1->GetForeColor()); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x4000000); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarActive,0x4010101); spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,0x40000ff); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->PutSortBarVisible(VARIANT_TRUE); spGantt1->PutBackColorSortBar(spGantt1->GetBackColor()); spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor()); spGantt1->PutFilterBarDropDownHeight(1); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); var_Column->PutWidth(128); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::exShowCheckBox); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column1->PutFormatColumn(L"1 pos ``"); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(48); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAlignment(EXGANTTLib::CenterAlignment); var_Column1->PutHeaderAlignment(EXGANTTLib::CenterAlignment); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); var_Column2->PutFilterType(EXGANTTLib::exImage); var_Column2->PutDisplayExpandButton(VARIANT_TRUE); var_Column2->PutExpandColumns(L"1,2,3"); var_Column2->PutWidth(128); var_Column2->PutHeaderImage(1); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Images"))); var_Column3->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column3->PutWidth(196); var_Column3->PutHTMLCaption(L"<img>1</img><img>2</img><img>3</img> Images"); spGantt1->GetColumns()->GetItem("Pos")->PutPosition(3); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long hR = var_Items->AddItem("Root"); var_Items->PutItemDivider(hR,0); var_Items->PutItemDividerLine(hR,EXGANTTLib::EmptyLine); long h = var_Items->InsertItem(hR,vtMissing,"Child A"); var_Items->PutCellImage(h,long(2),1); var_Items->PutCellImages(h,long(3),"1,2,3"); var_Items->PutCellCaption(h,long(3),"123"); h = var_Items->InsertItem(hR,vtMissing,"Child B"); var_Items->PutCellState(h,long(0),1); var_Items->PutCellImage(h,long(2),3); var_Items->PutCellImages(h,long(3),"2,3,1"); var_Items->PutCellCaption(h,long(3),"231"); var_Items->PutSelectItem(h,VARIANT_TRUE); h = var_Items->InsertItem(hR,vtMissing,"Child C"); var_Items->PutCellImage(h,long(2),2); var_Items->PutCellState(h,long(3),1); var_Items->PutCellCaption(h,long(3),"312"); var_Items->PutCellImages(h,long(3),"3,1,2"); var_Items->PutExpandItem(hR,VARIANT_TRUE); spGantt1->EndUpdate(); |
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
|
985 |
Is it possible to set from code, a column sort without being inserted in the sortbar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_FALSE); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset"); rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\sample.accdb",ADODB::adOpenKeyset,ADODB::adLockOptimistic,0); spGantt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); spGantt1->PutSortBarVisible(VARIANT_TRUE); spGantt1->PutLayout(L"singlesort=\"C1:1\""); spGantt1->EndUpdate(); |
984 |
Is it possible to view all events the control fires
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } // Event event - Notifies the application once the control fires an event. void OnEventGantt1(long EventID) { EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); OutputDebugStringW( _bstr_t(spGantt1->GetEventParam(-2)) ); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarCaption(L"`<r>` + value"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
983 |
How can I prevent expanding/collapsing the child items
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed). void OnBeforeExpandItemGantt1(long Item,VARIANT FAR* Cancel) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); Cancel = spGantt1->GetItems()->GetItemParent(Item); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutSingleSel(VARIANT_FALSE); spGantt1->GetColumns()->Add(L"Default"); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 1.1"),vtMissing,"Child"); var_Items->InsertItem(h,vtMissing,"Child 1.2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 2.1"),vtMissing,"Child"); var_Items->InsertItem(h,vtMissing,"Child 2.2"); var_Items->PutExpandItem(h,VARIANT_TRUE); spGantt1->EndUpdate(); |
982 |
How can I display an item of picture type
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutScrollBySingleLine(VARIANT_FALSE); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutHeaderHeight(24); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Artikel")))->PutHTMLCaption(L"<u>Artikel"); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Waarde")))->PutHTMLCaption(L"<u>Waarde"); spGantt1->PutHTMLPicture(L"T22128","c:\\exontrol\\images\\zipdisk.gif"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("T22128-28)2D"); long h1 = var_Items->InsertItem(h,vtMissing,"<img>T22128:128</img>"); var_Items->PutCellCaptionFormat(h1,long(0),EXGANTTLib::exHTML); var_Items->PutItemHeight(h1,128); h1 = var_Items->InsertItem(h,vtMissing,"werkvoorbereiding"); var_Items->PutCellCaption(h1,long(1),"5.80"); var_Items->PutCellBold(h1,long(1),VARIANT_TRUE); var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Type"),long(1),"Eenvoudig"); var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Prijs p/uur"),long(1),"60,00"); var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Marhe"),long(1),"15,00%"); var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Insteltijd min."),long(1),"5,00"); var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Aantal"),long(1),long(1)); var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Kostprije"),long(1),"5,00"); var_Items->PutExpandItem(h1,VARIANT_TRUE); h1 = var_Items->InsertItem(h,vtMissing,"materiall"); var_Items->PutCellCaption(h1,long(1),"14.82"); var_Items->PutCellBold(h1,long(1),VARIANT_TRUE); var_Items->PutItemHasChildren(h1,VARIANT_TRUE); h1 = var_Items->InsertItem(h,vtMissing,"snijden"); var_Items->PutCellCaption(h1,long(1),"3.13"); var_Items->PutCellBold(h1,long(1),VARIANT_TRUE); var_Items->PutItemHasChildren(h1,VARIANT_TRUE); var_Items->PutExpandItem(h,VARIANT_TRUE); spGantt1->EndUpdate(); |
981 |
Dark mode
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); _bstr_t back = 65536; _bstr_t fore = 16777215; spGantt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") + "gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" + "dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"); spGantt1->GetVisualAppearance()->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4b") + "iaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA"); spGantt1->GetVisualAppearance()->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5C") + "jmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKax" + "bbuaaXLhGCYBgIA=="); spGantt1->PutHeaderAppearance(EXGANTTLib::Bump); spGantt1->PutBackColor(back); spGantt1->PutBackColorHeader(back); spGantt1->PutBackColorLevelHeader(back); spGantt1->PutBackColorSortBar(back); spGantt1->PutBackColorSortBarCaption(back); spGantt1->PutFilterBarBackColor(back); spGantt1->PutFilterBarForeColor(fore); spGantt1->PutForeColor(fore); spGantt1->PutForeColorHeader(fore); spGantt1->PutForeColorSortBar(fore); spGantt1->PutSelBackColor(fore); spGantt1->PutSelForeColor(back); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1000000); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutBackground(EXGANTTLib::exToolTipAppearance,0x3000000); spGantt1->PutBackground(EXGANTTLib::exToolTipBackColor,back); spGantt1->PutBackground(EXGANTTLib::exToolTipForeColor,fore); spGantt1->PutBackground(EXGANTTLib::exSelBackColorFilter,fore); spGantt1->PutBackground(EXGANTTLib::exSelForeColorFilter,back); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,back); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,fore); spGantt1->PutBackground(EXGANTTLib::exSortBarLinkColor,back); spGantt1->PutBackground(EXGANTTLib::exTreeLinesColor,fore); spGantt1->PutDescription(EXGANTTLib::exFilterBarExclude,L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutBackColor(back); var_Chart->PutBackColorLevelHeader(back); var_Chart->PutForeColor(fore); var_Chart->PutForeColorLevelHeader(fore); spGantt1->EndUpdate(); |
980 |
How can I specify the cell's outline, border or lines around, when the cell gets selected
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") + "IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" + "Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" + "njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" + "YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="); var_Appearance->Add(2,"CP:1 -4 0 0 0"); spGantt1->PutSelBackColor(0x2000000); spGantt1->PutSelForeColor(RGB(0,0,1)); spGantt1->PutFullRowSelect(VARIANT_FALSE); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->PutDefaultItemHeight(24); spGantt1->PutHeaderHeight(24); spGantt1->PutDrawGridLines(EXGANTTLib::exVLines); spGantt1->GetColumns()->Add(L"C1"); spGantt1->GetColumns()->Add(L"C2"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2"); var_Items->PutCellCaption(var_Items->AddItem("Cell 3"),long(1),"Cell 4"); spGantt1->GetItems()->PutSelectPos(long(1)); spGantt1->PutSelectColumnIndex(1); spGantt1->EndUpdate(); |
979 |
How can I specify the cell's outline, border or lines around, when the item gets selected
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"); spGantt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") + "IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" + "Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" + "njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" + "YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="); spGantt1->PutSelBackColor(0x1000000); spGantt1->PutSelForeColor(RGB(0,0,1)); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->PutDefaultItemHeight(24); spGantt1->PutHeaderHeight(24); spGantt1->PutDrawGridLines(EXGANTTLib::exVLines); spGantt1->GetColumns()->Add(L"C1"); spGantt1->GetColumns()->Add(L"C2"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2"); var_Items->PutCellCaption(var_Items->AddItem("Cell 3"),long(1),"Cell 4"); var_Items->PutSelectPos(long(1)); spGantt1->EndUpdate(); |
978 |
How can I specify the cell's outline, border or lines around
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"); spGantt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") + "IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" + "Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" + "njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" + "YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="); spGantt1->PutSelBackMode(EXGANTTLib::exTransparent); spGantt1->PutShowFocusRect(VARIANT_FALSE); spGantt1->PutDefaultItemHeight(24); spGantt1->PutHeaderHeight(24); spGantt1->PutDrawGridLines(EXGANTTLib::exVLines); spGantt1->GetColumns()->Add(L"C1"); spGantt1->GetColumns()->Add(L"C2"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2"); long h = var_Items->AddItem("Cell 2"); var_Items->PutCellCaption(h,long(1),"Cell 3"); var_Items->PutCellBackColor(h,long(1),0x1000000); spGantt1->EndUpdate(); |
977 |
Is it possible to highligth the match while a filter is applied
// AddColumn event - Fired after a new column has been added. void OnAddColumnGantt1(LPDISPATCH Column) { // Column.Def(17) = 1 } // FilterChange event - Occurs when the filter was changed. void OnFilterChangeGantt1() { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t format = spGantt1->FormatABC(L"`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>'`",spGantt1->GetFilterBarPromptPattern(),vtMissing,vtMissing); spGantt1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"format"); spGantt1->GetColumns()->GetItem(long(1))->PutFormatColumn(L"format"); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutDrawGridLines(EXGANTTLib::exVLines); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->GetColumns()->Add(L"Col 1"); spGantt1->GetColumns()->Add(L"Col 2"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("219 Smith"),long(1),"Ignacio 1234"); var_Items->PutCellCaption(var_Items->AddItem("1666 County Road 309A"),long(1),"897 Manassa"); var_Items->PutCellCaption(var_Items->AddItem("38 Lone Pine"),long(1),"Durango 11"); var_Items->PutCellCaption(var_Items->AddItem("612 Jachim Street"),long(1),"Lamar 222"); spGantt1->PutFilterBarPromptPattern(L"1"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->PutFilterBarPromptType(EXGANTTLib::FilterPromptEnum(EXGANTTLib::exFilterPromptCaseSensitive | EXGANTTLib::exFilterPromptContainsAll)); spGantt1->EndUpdate(); |
976 |
Is it possible to highlight the column's header once a filter is applied (sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwS") + "AsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbD" + "MRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZw" + "Xg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGq" + "DBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA="); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQF") + "i6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIK" + "AT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QB" + "HAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBa" + "BZhggZgagaYRoEwShWA6NZZAMQBAICA=="); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1000000); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarActive,0x2000000); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutHeaderHeight(28); spGantt1->PutBackColorHeader(RGB(255,255,255)); spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines); spGantt1->PutHeaderVisible(VARIANT_TRUE); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C2"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilter(L"Item 2"); var_Column->PutFilterType(EXGANTTLib::exFilter); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C3")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Item 1"); var_Items->PutCellCaption(h,long(1),"Item 2"); var_Items->PutCellCaption(h,long(2),"Item 3"); h = var_Items->AddItem("Item 4"); var_Items->PutCellCaption(h,long(1),"Item 5"); var_Items->PutCellCaption(h,long(2),"Item 6"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
975 |
How can I make the expand/collapse glyphs DPI aware
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _bstr_t size = 2; spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQc") + "CQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBK" + "cRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJ" + "rnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGY" + "GoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQp" + "FIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" + "ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA=="); var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhY") + "IgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyV" + "YghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDx" + "TiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FY" + "FoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAha" + "FKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" + "YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA=="); var_Appearance->Add(1,spGantt1->FormatABC(L"`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)",size,vtMissing,vtMissing)); var_Appearance->Add(2,spGantt1->FormatABC(L"`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` + int(value*dpi) + ` ` + int(value*dpi)",size,vtMissing,vtMissing)); spGantt1->PutLinesAtRoot(EXGANTTLib::exGroupLinesAtRoot); spGantt1->PutHasButtons(EXGANTTLib::exCustom); spGantt1->PutHasButtonsCustom(VARIANT_FALSE,16777216); spGantt1->PutHasButtonsCustom(VARIANT_TRUE,33554432); spGantt1->GetColumns()->Add(L"Column"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spGantt1->EndUpdate(); |
974 |
Is it possible to highlight the column's header once a filter is applied (sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") + "J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" + "NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" + "hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" + "bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" + "BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="); var_Appearance->Add(1,"CP:2 -8 -4 2 4"); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1fefefe); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarActive,0x1010101); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutHeaderHeight(28); spGantt1->PutBackColorHeader(RGB(255,255,255)); spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines); spGantt1->PutHeaderVisible(VARIANT_TRUE); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C2"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilter(L"Item 2"); var_Column->PutFilterType(EXGANTTLib::exFilter); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C3")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Item 1"); var_Items->PutCellCaption(h,long(1),"Item 2"); var_Items->PutCellCaption(h,long(2),"Item 3"); h = var_Items->AddItem("Item 4"); var_Items->PutCellCaption(h,long(1),"Item 5"); var_Items->PutCellCaption(h,long(2),"Item 6"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
973 |
Is it possible to show the filterbar on top of the rows
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarTop); spGantt1->PutHeaderHeight(24); spGantt1->PutFilterBarHeight(spGantt1->GetHeaderHeight()); spGantt1->PutHeaderAppearance(EXGANTTLib::Flat); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutGridLineStyle(EXGANTTLib::exGridLinesGeometric); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Column"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXGANTTLib::exPattern); var_Column->PutFilter(L"B*"); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Index"))); var_Column1->PutFormatColumn(L"1 index ``"); var_Column1->PutPosition(0); var_Column1->PutWidth(48); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutSortType(EXGANTTLib::SortNumeric); var_Column1->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("A.1"); var_Items->AddItem("A.2"); var_Items->AddItem("B.1"); var_Items->AddItem("B.2"); var_Items->AddItem("B.3"); var_Items->AddItem("C"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
972 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); var_Columns->Add(L"Item"); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutPosition(0); var_Column->PutWidth(32); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutFormatColumn(L"1 index ``"); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutAllowDragging(VARIANT_FALSE); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->EndUpdate(); |
971 |
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); var_Columns->Add(L"Item"); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutPosition(0); var_Column->PutWidth(32); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutFormatColumn(L"1 index ``"); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutAllowDragging(VARIANT_FALSE); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->EndUpdate(); |
970 |
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutDrawGridLines(EXGANTTLib::exHLines); spGantt1->PutGridLineStyle(EXGANTTLib::exGridLinesGeometric); spGantt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJX") + "haI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA=="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Position"))); var_Column1->PutFormatColumn(L"((1 rindex ``) contains `.`) = 0"); var_Column1->PutVisible(VARIANT_FALSE); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"%C1",vtMissing); var_ConditionalFormat->PutBackColor(0x1e0e0e0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->InsertItem(h,vtMissing,"Child 3"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); h = var_Items->AddItem("Root 3"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); spGantt1->EndUpdate(); |
969 |
I can not center or align the cell's caption and icon, when it displays the hierarchy
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Tasks"))); var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); spGantt1->PutHeaderVisible(VARIANT_TRUE); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Project"); long hChild = var_Items->InsertItem(h,vtMissing,"<img>1</img> Task (left)"); hChild = var_Items->InsertItem(h,vtMissing,"<c><img>2</img> Task (center)"); hChild = var_Items->InsertItem(h,vtMissing,"<r>Task (right) <img>3</img>"); var_Items->PutExpandItem(h,VARIANT_TRUE); spGantt1->EndUpdate(); |
968 |
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse. void OnMouseMoveGantt1(short Button,short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); long i = spGantt1->GetItemFromPoint(-1,-1,c,hit); OutputDebugStringW( L"i" ); OutputDebugStringW( _bstr_t(spGantt1->GetItems()->GetItemData(i)) ); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->GetColumns()->Add(L"Default"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutItemData(var_Items->AddItem("method 1"),"your extra data of method 1"); var_Items->InsertItem(0,"your extra data of method 2","method 2"); EXGANTTLib::IItemsPtr var_Items1 = spGantt1->GetItems(); var_Items1->PutDefaultItem(var_Items1->AddItem("method 3")); var_Items1->PutItemData(0,"your extra data of method 3"); spGantt1->EndUpdate(); |
967 |
I do not like to specify the item padding for every column I add. The question is how can I do it automatically
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}"); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutGridLineStyle(EXGANTTLib::exGridLinesVSolid); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); var_Columns->Add(L"Item"); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Pos"))); var_Column->PutPosition(0); var_Column->PutWidth(32); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutFormatColumn(L"1 index ``"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->EndUpdate(); |
966 |
Can I sort the column by check-state
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutSortType(EXGANTTLib::exSortByState); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem(vtMissing); var_Items->PutCellState(var_Items->AddItem(vtMissing),long(0),1); var_Items->PutCellState(var_Items->AddItem(vtMissing),long(0),1); var_Items->AddItem(vtMissing); spGantt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXGANTTLib::SortAscending); spGantt1->EndUpdate(); |
965 |
Can I sort the column by image
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column->PutSortType(EXGANTTLib::exSortByImage); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellImage(var_Items->AddItem(vtMissing),long(0),3); var_Items->AddItem(vtMissing); var_Items->PutCellImage(var_Items->AddItem(vtMissing),long(0),1); var_Items->PutCellImage(var_Items->AddItem(vtMissing),long(0),2); spGantt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXGANTTLib::SortAscending); spGantt1->EndUpdate(); |
964 |
How can I display UNICODE characters
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ stdole::FontPtr var_StdFont = spGantt1->GetFont(); var_StdFont->PutName(L"Arial Unicode"); var_StdFont->PutSize(_variant_t(long(22))); spGantt1->PutHeaderVisible(VARIANT_FALSE); spGantt1->PutDefaultItemHeight(48); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"")))->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Ӓӓ"); var_Items->AddItem("ᦜᦝ;ᦞ"); var_Items->AddItem("ɮɭ;ɯ"); var_Items->AddItem("勳勴勵勶"); var_Items->PutFormatCell(var_Items->AddItem(spGantt1->GetVersion()),long(0),L"(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "); spGantt1->EndUpdate(); |
963 |
How do I display the position of the item with 0-padding
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Items")))->PutFormatColumn(L"((1 apos ``) lpad `00`) + `. ` + value"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); var_Items->AddItem("Item D"); spGantt1->EndUpdate(); |
962 |
Can't get the +/- to be displayed on a divider item. What else can I do
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutTreeColumnIndex(0); spGantt1->PutMarkSearchColumn(VARIANT_FALSE); spGantt1->PutFullRowSelect(VARIANT_FALSE); spGantt1->PutHeaderAppearance(EXGANTTLib::AppearanceEnum(0xfffffff8 | EXGANTTLib::Bump | EXGANTTLib::Sunken)); spGantt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutWidth(32); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutFormatColumn(L"1 index ``"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Cell 1"); var_Items->PutCellSingleLine(h,long(1),EXGANTTLib::exCaptionWordWrap); h = var_Items->AddItem("This is bit of text merges all cells in the item (divider shows no +/-)"); var_Items->PutItemDivider(h,0); var_Items->PutItemBackColor(h,RGB(240,240,240)); var_Items->PutItemDividerLine(h,EXGANTTLib::EmptyLine); var_Items->PutCellHAlignment(h,long(0),EXGANTTLib::CenterAlignment); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Cell 3"); h = var_Items->AddItem("This is bit of text merges all cells in the item (merge shows +/-)"); var_Items->PutItemBackColor(h,RGB(240,240,240)); var_Items->PutCellMerge(h,long(0),long(1)); var_Items->InsertItem(h,vtMissing,"Child 3"); var_Items->InsertItem(h,vtMissing,"Child 4"); var_Items->PutExpandItem(h,VARIANT_TRUE); spGantt1->EndUpdate(); |
961 |
ADODB Requery sample
// CellButtonClick event - Fired after the user clicks on the cell of button type. void OnCellButtonClickGantt1(long Item,long ColIndex) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library' #import <msado15.dll> rename("EOF","REOF") */ ADODB::_CommandPtr cmd = ::CreateObject(L"ADODB.Command"); cmd->PutActiveConnection(((ADODB::_ConnectionPtr)(((ADODB::_RecordsetPtr)(spGantt1->GetDataSource()))->GetActiveConnection()))); cmd->PutCommandText(L"INSERT INTO Orders (EmployeeID) VALUES(12345)"); cmd->PutCommandType(ADODB::adCmdText); cmd->Execute(vtMissing,vtMissing,0); ((ADODB::_RecordsetPtr)(spGantt1->GetDataSource()))->Requery(0); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutColumnAutoResize(VARIANT_FALSE); ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset"); rs->Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\sample.accdb",ADODB::adOpenKeyset,ADODB::adLockOptimistic,0); spGantt1->PutDataSource(((ADODB::_RecordsetPtr)(rs))); spGantt1->GetConditionalFormats()->Add(L"%1=12345",vtMissing)->PutBackColor(RGB(240,240,240)); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutLockedItemCount(EXGANTTLib::TopAlignment,1); long h = var_Items->GetLockedItem(EXGANTTLib::TopAlignment,0); var_Items->PutItemDivider(h,0); var_Items->PutCellHasButton(h,long(0),VARIANT_TRUE); var_Items->PutCellCaption(h,long(0),"Requery (add a new record, using ADODB.Command)"); var_Items->PutCellHAlignment(h,long(0),EXGANTTLib::CenterAlignment); spGantt1->EndUpdate(); |
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
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") + "LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDB" + "KTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLx" + "PF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" + "b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4P" + "GSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" + "ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tE" + "sHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" + "pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAA" + "MR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH" + "4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ="); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzN") + "C0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3" + "aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DB" + "aEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" + "BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoe" + "EmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA=="); spGantt1->PutBackColorHeader(0x1000000); spGantt1->PutForeColorHeader(RGB(128,128,128)); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x2000000); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,RGB(255,255,255)); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,RGB(0,0,1)); spGantt1->PutBackground(EXGANTTLib::exSelBackColorFilter,0x1ff8000); spGantt1->PutBackground(EXGANTTLib::exSelForeColorFilter,RGB(240,240,240)); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutHeaderHeight(24); spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor()); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Filter"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutDisplayFilterPattern(VARIANT_FALSE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); var_Column->PutDef(EXGANTTLib::exHeaderPaddingLeft,long(2)); var_Column->PutDef(EXGANTTLib::exHeaderPaddingRight,long(2)); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("A"); var_Items->AddItem("B"); var_Items->AddItem("C"); var_Items->AddItem("D"); spGantt1->EndUpdate(); |
959 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns
|
958 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn
|
957 |
Type of wraps the cell's caption support (Sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutHeaderSingleLine(VARIANT_FALSE); spGantt1->PutHeaderHeight(36); spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines); spGantt1->PutColumnAutoResize(VARIANT_FALSE); spGantt1->PutScrollBySingleLine(VARIANT_TRUE); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Single-Line (exCaptionSingleLine)"))); var_Column->PutWidth(96); var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column->PutDef(EXGANTTLib::exCellSingleLine,long(-1)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)"))); var_Column1->PutWidth(96); var_Column1->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column1->PutDef(EXGANTTLib::exCellSingleLine,long(0)); var_Column1->PutFormatColumn(L"%0"); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)"))); var_Column2->PutWidth(96); var_Column2->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column2->PutDef(EXGANTTLib::exCellSingleLine,long(1)); var_Column2->PutFormatColumn(L"%0"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->AddItem("This is the <b>first</b> line.\\r\\nThis is the <b>second</b> line.\\r\\nThis is the <b>third</b> line."); spGantt1->EndUpdate(); |
956 |
Type of wraps the cell's caption support (Sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutHeaderSingleLine(VARIANT_FALSE); spGantt1->PutHeaderHeight(36); spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines); spGantt1->PutColumnAutoResize(VARIANT_FALSE); spGantt1->PutScrollBySingleLine(VARIANT_TRUE); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")))->PutWidth(128); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); h = var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionWordWrap); h = var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionWordWrap); h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionBreakWrap); h = var_Items->AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionBreakWrap); spGantt1->EndUpdate(); |
955 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines); spGantt1->PutColumnAutoResize(VARIANT_FALSE); spGantt1->PutScrollBySingleLine(VARIANT_TRUE); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")))->PutWidth(128); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellSingleLine(var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."),long(0),EXGANTTLib::exCaptionBreakWrap); var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); spGantt1->EndUpdate(); |
954 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines); spGantt1->PutColumnAutoResize(VARIANT_FALSE); spGantt1->PutScrollBySingleLine(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutWidth(128); var_Column->PutDef(EXGANTTLib::exCellSingleLine,long(1)); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."); spGantt1->EndUpdate(); |
953 |
How can I change the visual appearance/color of the Filter For ... field
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutBackColorHeader(RGB(1,0,0)); spGantt1->PutForeColorHeader(RGB(255,255,255)); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,spGantt1->GetBackColorHeader()); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,spGantt1->GetForeColorHeader()); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,RGB(240,240,240)); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutHeaderAppearance(EXGANTTLib::Bump); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Items"))); var_Column->PutFilterOnType(VARIANT_TRUE); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::exNoItems); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); spGantt1->EndUpdate(); |
952 |
How can I display the cell's caption without spaces on both sides
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column->PutFormatColumn(L"((trim(value) replace ` ` with ` `) replace ` ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem(""); var_Items->AddItem("Item A"); var_Items->AddItem(" Item B"); var_Items->AddItem(" Item C "); spGantt1->EndUpdate(); |
951 |
How can I highlight the spaces within the column (sample 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column->PutFormatColumn(L"`'` + ( value replace ` ` with `_` ) + `'`"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem(""); var_Items->AddItem("Item A"); var_Items->AddItem(" Item B"); var_Items->AddItem(" Item C "); spGantt1->EndUpdate(); |
950 |
How can I highlight the spaces within the column (sample 1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1)); var_Column->PutFormatColumn(L"len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem(""); var_Items->AddItem("Item A"); var_Items->AddItem(" Item B"); var_Items->AddItem(" Item C "); spGantt1->EndUpdate(); |
949 |
How can I change the visual aspect of the drop down filter-calendar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,RGB(0,0,1)); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,RGB(255,255,255)); spGantt1->PutBackground(EXGANTTLib::exDateScrollRange,RGB(255,255,255)); spGantt1->PutBackground(EXGANTTLib::exDateHeader,spGantt1->GetBackground(EXGANTTLib::exBackColorFilter)); spGantt1->PutBackground(EXGANTTLib::exDateScrollThumb,RGB(128,128,128)); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Date"))); var_Column->PutFilterType(EXGANTTLib::exDate); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutDisplayFilterDate(VARIANT_TRUE); var_Column->PutDisplayFilterPattern(VARIANT_FALSE); spGantt1->EndUpdate(); |
948 |
Export Data in HTML format
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long i = var_Items->GetItemToIndex(Item); var_Items->AddBar(Item,"Task",COleDateTime(2008,1,2,0,00,00).operator DATE(),COleDateTime(2008,1,9,0,00,00).operator DATE(),"",vtMissing); var_Items->PutItemBar(Item,"",EXGANTTLib::exBarDuration,i); var_Items->PutItemBar(Item,"",EXGANTTLib::exBarMove,i); var_Items->PutCellCaption(Item,long(1),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarStart)); var_Items->PutCellCaption(Item,long(2),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarEnd)); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutBackColorAlternate(RGB(240,240,240)); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" + "nt + ` item(s)`) )))"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->PutFilterBarPromptType(EXGANTTLib::exFilterPromptContainsAny); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutDrawGridLines(EXGANTTLib::exAllLines); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE()); var_Chart->PutFirstWeekDay(EXGANTTLib::exMonday); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 3","K3"); var_ConditionalFormat->PutForeColor(RGB(255,0,0)); var_ConditionalFormat->PutBarColor(var_ConditionalFormat->GetForeColor()); var_ConditionalFormat->PutApplyToBars(L"Task"); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 5","K5"); var_ConditionalFormat1->PutForeColor(RGB(0,255,0)); var_ConditionalFormat1->PutBarColor(var_ConditionalFormat1->GetForeColor()); var_ConditionalFormat1->PutApplyToBars(L"Task"); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")))->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Columns->Add(L"Start"); var_Columns->Add(L"End"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Task 1"); var_Items->AddItem("Task 2"); var_Items->AddItem("Task 3"); var_Items->AddItem("Task 4"); var_Items->AddItem("Task 5"); var_Items->AddItem("Task 6"); var_Items->AddItem("Task 7"); var_Items->AddItem("Task 8"); spGantt1->EndUpdate(); _bstr_t sFile = "c:/temp/export.html"; spGantt1->Export(sFile,"vis"); /* Includes the definition for CreateObject function like follows: #include <comdef.h> IUnknownPtr CreateObject( BSTR Object ) { IUnknownPtr spResult; spResult.CreateInstance( Object ); return spResult; }; */ /* Copy and paste the following directives to your header file as it defines the namespace 'SHDocVw' for the library: 'Microsoft Internet Controls' #import <ieframe.dll> */ SHDocVw::IWebBrowser2Ptr var_ShellBrowserWindow = ::CreateObject(L"InternetExplorer.Application"); var_ShellBrowserWindow->Navigate2(sFile,vtMissing,vtMissing,vtMissing,vtMissing); |
947 |
Export Data in CSV format
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long i = var_Items->GetItemToIndex(Item); var_Items->AddBar(Item,"Task",COleDateTime(2008,1,2,0,00,00).operator DATE(),COleDateTime(2008,1,9,0,00,00).operator DATE(),"",vtMissing); var_Items->PutItemBar(Item,"",EXGANTTLib::exBarDuration,i); var_Items->PutItemBar(Item,"",EXGANTTLib::exBarMove,i); var_Items->PutCellCaption(Item,long(1),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarStart)); var_Items->PutCellCaption(Item,long(2),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarEnd)); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutBackColorAlternate(RGB(240,240,240)); spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" + "nt + ` item(s)`) )))"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->PutFilterBarPromptType(EXGANTTLib::exFilterPromptContainsAny); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE()); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 3","K3"); var_ConditionalFormat->PutForeColor(RGB(255,0,0)); var_ConditionalFormat->PutBarColor(var_ConditionalFormat->GetForeColor()); var_ConditionalFormat->PutApplyToBars(L"Task"); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 5","K5"); var_ConditionalFormat1->PutForeColor(RGB(0,255,0)); var_ConditionalFormat1->PutBarColor(var_ConditionalFormat1->GetForeColor()); var_ConditionalFormat1->PutApplyToBars(L"Task"); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")))->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Columns->Add(L"Start"); var_Columns->Add(L"End"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Task 1"); var_Items->AddItem("Task 2"); var_Items->AddItem("Task 3"); var_Items->AddItem("Task 4"); var_Items->AddItem("Task 5"); var_Items->AddItem("Task 6"); var_Items->AddItem("Task 7"); var_Items->AddItem("Task 8"); spGantt1->EndUpdate(); OutputDebugStringW( _bstr_t(spGantt1->Export("","vis")) ); |
946 |
Is it possible to check multiple-items at once
|
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. void OnMouseMoveGantt1(short Button,short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); long i = spGantt1->GetItemFromPoint(-1,-1,c,hit); OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`",hit,spGantt1->GetItems()->GetCellImages(i,c),vtMissing)) ); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spGantt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); spGantt1->GetColumns()->Add(L"Default"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellImages(var_Items->AddItem("Item 1"),long(0),"3,2,1"); var_Items->PutCellImages(var_Items->AddItem("Item 2"),long(0),"2,3"); var_Items->PutCellImages(var_Items->AddItem("Item 3"),long(0),"2,"); spGantt1->EndUpdate(); |
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. void OnMouseMoveGantt1(short Button,short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); long i = spGantt1->GetItemFromPoint(-1,-1,c,hit); OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit,vtMissing,vtMissing)) ); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spGantt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); spGantt1->GetColumns()->Add(L"Default"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellImages(var_Items->AddItem("Item 1"),long(0),"3,2,1"); var_Items->PutCellImages(var_Items->AddItem("Item 2"),long(0),"2,3"); var_Items->PutCellImages(var_Items->AddItem("Item 3"),long(0),"2"); spGantt1->EndUpdate(); |
943 |
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutHeaderAppearance(EXGANTTLib::Etched); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); var_Columns->Add(L"Column 1"); var_Columns->Add(L"Column 2"); var_Columns->Add(L"Column 3"); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") + "IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" + "aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" + "eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" + "BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" + "GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI="); var_Appearance->Add(2,"CP:1 0 -36 0 0"); spGantt1->PutBackground(EXGANTTLib::exColumnsPositionSign,0x2000000); spGantt1->EndUpdate(); |
942 |
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->PutDefaultItemHeight(20); spGantt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m") + "Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" + "hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" + "6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" + "JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" + "0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA=="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Position"))); var_Column1->PutFormatColumn(L"1 rindex ``"); var_Column1->PutVisible(VARIANT_FALSE); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"%C1 mod 2",vtMissing); var_ConditionalFormat->PutBackColor(0x1000000); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item 1"); var_Items->AddItem("Item 2"); var_Items->AddItem("Item 3"); var_Items->AddItem("Item 4"); spGantt1->EndUpdate(); |
941 |
How can I specify alternate background colors for each root item, similar with BackColorAlternate
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutPartialCheck(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Position"))); var_Column1->PutFormatColumn(L"( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"); var_Column1->PutVisible(VARIANT_FALSE); EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"%C1 mod 2",vtMissing); var_ConditionalFormat->PutBackColor(RGB(240,240,240)); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); h = var_Items->AddItem("Root 3"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); spGantt1->EndUpdate(); |
940 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutVisualDesign(_bstr_t("gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc") + "TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" + "CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" + "bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" + "N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" + "hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" + "hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" + "oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" + "KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" + "FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" + "gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" + "SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" + "BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ="); spGantt1->GetColumns()->Add(L"Column"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spGantt1->EndUpdate(); |
939 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" + "XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" + "gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" + "INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="); var_Appearance->Add(1,"CP:3 -2 -2 2 2"); var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" + "eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" + "FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" + "JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="); var_Appearance->Add(2,"CP:4 -2 -2 2 2"); spGantt1->PutLinesAtRoot(EXGANTTLib::exGroupLinesAtRoot); spGantt1->PutHasButtons(EXGANTTLib::exCustom); spGantt1->PutHasButtonsCustom(VARIANT_FALSE,16777216); spGantt1->PutHasButtonsCustom(VARIANT_TRUE,33554432); spGantt1->GetColumns()->Add(L"Column"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spGantt1->EndUpdate(); |
938 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,"XP:TREEVIEW 2 1"); var_Appearance->Add(2,"XP:TREEVIEW 2 2"); spGantt1->PutBackground(EXGANTTLib::exTreeGlyphOpen,0x1000000); spGantt1->PutBackground(EXGANTTLib::exTreeGlyphClose,0x2000000); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->GetColumns()->Add(L"Column"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spGantt1->EndUpdate(); |
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)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" + "XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" + "gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" + "INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") + "BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" + "DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" + "llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" + "eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" + "FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" + "JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutBackground(EXGANTTLib::exTreeGlyphOpen,0x1000000); spGantt1->PutBackground(EXGANTTLib::exTreeGlyphClose,0x2000000); spGantt1->GetColumns()->Add(L"Column"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h = var_Items->AddItem("Root 1"); var_Items->InsertItem(h,vtMissing,"Child 1"); var_Items->InsertItem(h,vtMissing,"Child 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("Root 2"); var_Items->InsertItem(h,vtMissing,"Child"); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarShort); EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(1)); var_Column3->PutFilterType(EXGANTTLib::exPattern); var_Column3->PutFilter(L"*B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
934 |
FilterBarCaption ALL Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spGantt1->GetItems()->PutCellImage(Item,long(3),i); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXGANTTLib::exImage); var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox)); EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellCaption(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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>` + ( matchi" + "temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" + " + ` item(s)`) )))"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXGANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
933 |
FilterBarCaption ALL Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spGantt1->GetItems()->PutCellImage(Item,long(3),i); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXGANTTLib::exImage); var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox)); EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellCaption(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(L"all"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXGANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
932 |
FilterBarCaption ALLUI Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spGantt1->GetItems()->PutCellImage(Item,long(3),i); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXGANTTLib::exImage); var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox)); EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellCaption(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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>` + ( matc" + "hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" + "nt + ` item(s)`) )))"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXGANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
931 |
FilterBarCaption ALLUI Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spGantt1->GetItems()->PutCellImage(Item,long(3),i); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXGANTTLib::exImage); var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox)); EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellCaption(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(L"allui"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXGANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
930 |
FilterBarCaption AVAILABLE Keyword ( sample 2, result )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spGantt1->GetItems()->PutCellImage(Item,long(3),i); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXGANTTLib::exImage); var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox)); EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellCaption(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava") + "ilable 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)`) )))"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXGANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
929 |
FilterBarCaption AVAILABLE Keyword ( sample 1 )
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); _variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing); spGantt1->GetItems()->PutCellImage(Item,long(3),i); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column2->PutDisplayFilterButton(VARIANT_TRUE); var_Column2->PutDisplayFilterPattern(VARIANT_FALSE); var_Column2->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image"))); var_Column3->PutDisplayFilterButton(VARIANT_TRUE); var_Column3->PutFilterType(EXGANTTLib::exImage); var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox)); EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column4->PutAllowSizing(VARIANT_FALSE); var_Column4->PutAllowSort(VARIANT_FALSE); var_Column4->PutWidth(32); var_Column4->PutFormatColumn(L"1 apos ``"); var_Column4->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellCaption(h,long(1),"Sub-Item B"); var_Items->PutCellState(h,long(2),1); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(L"value + ` ` + available"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0)); var_Column5->PutFilterType(EXGANTTLib::exFilter); var_Column5->PutFilter(L"Item A|Item B"); spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("(`<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> ` replac" + "e `]` with ` </b></bgcolor></fgcolor>`"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarToggle); EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(0)); var_Column3->PutFilterType(EXGANTTLib::exFilter); var_Column3->PutFilter(L"Item A|Item B"); EXGANTTLib::IColumnPtr var_Column4 = spGantt1->GetColumns()->GetItem(long(1)); var_Column4->PutFilterType(EXGANTTLib::exPattern); var_Column4->PutFilter(L"*B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(L"value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarToggle); EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(0)); var_Column3->PutFilterType(EXGANTTLib::exFilter); var_Column3->PutFilter(L"Item A|Item B"); EXGANTTLib::IColumnPtr var_Column4 = spGantt1->GetColumns()->GetItem(long(1)); var_Column4->PutFilterType(EXGANTTLib::exPattern); var_Column4->PutFilter(L"*B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column2->PutAllowSizing(VARIANT_FALSE); var_Column2->PutAllowSort(VARIANT_FALSE); var_Column2->PutWidth(32); var_Column2->PutFormatColumn(L"1 apos ``"); var_Column2->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A"); var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B"); var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C"); spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(L"value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarToggle); EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(0)); var_Column3->PutFilterType(EXGANTTLib::exFilter); var_Column3->PutFilter(L"Item A|Item B"); EXGANTTLib::IColumnPtr var_Column4 = spGantt1->GetColumns()->GetItem(long(1)); var_Column4->PutFilterType(EXGANTTLib::exPattern); var_Column4->PutFilter(L"*B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(32); var_Column1->PutFormatColumn(L"1 apos ``"); var_Column1->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarCaption(L"`<r>` + value"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarShowCloseOnRight | EXGANTTLib::exFilterBarToggle)); EXGANTTLib::IColumnPtr var_Column2 = spGantt1->GetColumns()->GetItem(long(0)); var_Column2->PutFilterType(EXGANTTLib::exFilter); var_Column2->PutFilter(L"Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc)); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(32); var_Column1->PutFormatColumn(L"1 apos ``"); var_Column1->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutFilterBarPrompt(_bstr_t(spGantt1->FormatABC(L"`<b>` + value",spGantt1->GetFilterBarPrompt(),vtMissing,vtMissing))); spGantt1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") + "+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarShowCloseOnRight | EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") + "+ 1) + ` result(s)` ) : ``)"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutFilterBarCaption(L"`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutFilterBarCaption(L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
920 |
FilterBarCaption Predefined Keywords
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } // AfterExpandItem event - Fired after an item is expanded (collapsed). void OnAfterExpandItemGantt1(long Item) { EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->Refresh(); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check"))); var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutDisplayFilterPattern(VARIANT_FALSE); var_Column->PutFilterType(EXGANTTLib::exCheck); EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column1->PutAllowSizing(VARIANT_FALSE); var_Column1->PutAllowSort(VARIANT_FALSE); var_Column1->PutWidth(32); var_Column1->PutFormatColumn(L"1 apos ``"); var_Column1->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); long h = var_Items->AddItem("Item B"); var_Items->PutCellState(var_Items->InsertItem(h,vtMissing,"Sub-Item B1"),long(1),1); var_Items->InsertItem(h,vtMissing,"Sub-Item B2"); var_Items->PutExpandItem(h,VARIANT_TRUE); var_Items->AddItem("Item C"); spGantt1->PutFilterInclude(EXGANTTLib::exItemsWithChilds); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutFilterBarCaption(_bstr_t("`<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=8" + "08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" + " `</fgcolor>`"); spGantt1->PutFilterBarPromptPattern(L"B"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column2 = spGantt1->GetColumns()->GetItem(long(0)); var_Column2->PutFilterType(EXGANTTLib::exFilter); var_Column2->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); /* Copy and paste the following directives to your header file as it defines the namespace 'stdole' for the library: 'OLE Automation' #import <stdole2.tlb> */ spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont())))); spGantt1->PutFilterBarCaption(L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"); spGantt1->PutFilterBarPromptPattern(L"B"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarShowCloseOnRight | EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->PutFilterBarPrompt(_bstr_t(spGantt1->FormatABC(L"`<r>` + value",spGantt1->GetFilterBarPrompt(),vtMissing,vtMissing))); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); spGantt1->PutRightToLeft(VARIANT_TRUE); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ") + "jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" + "SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" + "OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" + "DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" + "AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" + "JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" + "0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" + "kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" + "MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" + "QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ"); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,0x1000000); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible); spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,RGB(255,0,0)); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible); spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,-1); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarPromptVisible)); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); var_Items->PutLockedItemCount(EXGANTTLib::BottomAlignment,1); long h = var_Items->GetLockedItem(EXGANTTLib::BottomAlignment,0); var_Items->PutItemDivider(h,0); var_Items->PutCellCaption(h,long(0),"<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."); var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML); spGantt1->PutFilterBarCaption(L"`<r><fgcolor=808080>` + value"); spGantt1->PutFilterBarPromptPattern(L"B"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarCaption(L"len(value) ? `filter for: <fgcolor 808080>` + value : `<fgcolor 808080>no filter`"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarCaption(L"`<r>` + value"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item A|Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } // Click event - Occurs when the user presses and then releases the left mouse button over the tree control. void OnClickGantt1() { EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->ClearFilter(); } // FilterChange event - Occurs when the filter was changed. void OnFilterChangeGantt1() { EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); OutputDebugStringW( L"Items.MatchItemCount" ); OutputDebugStringW( _bstr_t(spGantt1->GetItems()->GetMatchItemCount()) ); OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",spGantt1->GetItems()->GetMatchItemCount(),vtMissing,vtMissing)) ); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible); spGantt1->PutFilterBarPromptPattern(L"Item"); spGantt1->EndUpdate(); |
908 |
How can I programmatically clear the control's filter
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } // Click event - Occurs when the user presses and then releases the left mouse button over the tree control. void OnClickGantt1() { EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->ClearFilter(); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible); spGantt1->PutFilterBarPromptPattern(L"B"); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptPattern(L"B"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible)); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible); spGantt1->PutFilterBarPromptPattern(L"B"); spGantt1->EndUpdate(); |
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. void OnAddItemGantt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing); } EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,256); ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutFormatColumn(L"1 apos ``"); var_Column->PutPosition(0); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("Item A"); var_Items->AddItem("Item B"); var_Items->AddItem("Item C"); spGantt1->PutFilterBarCaption(L"len(value) = 0 ? `<fgcolor=808080>no filter` : value"); spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarVisible); EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0)); var_Column1->PutFilterType(EXGANTTLib::exFilter); var_Column1->PutFilter(L"Item B"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |
904 |
How do I change the drop down filter icon/button (black)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") + "gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" + "dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1000000); spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,RGB(0,0,1)); spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,RGB(255,255,255)); spGantt1->PutDescription(EXGANTTLib::exFilterBarExclude,L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"); spGantt1->PutHeaderAppearance(EXGANTTLib::None2); spGantt1->PutBackColorHeader(RGB(0,0,0)); spGantt1->PutForeColorHeader(RGB(255,255,255)); spGantt1->PutHeaderVisible(VARIANT_TRUE); spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor()); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Filter"))); var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowCheckBox)); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutAllowDragging(VARIANT_FALSE); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutLevelCount(2); var_Chart->PutBackColorLevelHeader(spGantt1->GetBackColorHeader()); var_Chart->PutForeColorLevelHeader(spGantt1->GetForeColorHeader()); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); var_Items->AddItem("One"); var_Items->AddItem("Two"); var_Items->AddItem("Three"); spGantt1->EndUpdate(); |
903 |
How do I change the drop down filter icon/button (white)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance(); var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") + "J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" + "NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" + "hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" + "bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" + "BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="); var_Appearance->Add(1,"CP:2 -4 -4 2 4"); spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1000000); spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,spGantt1->GetBackColor()); spGantt1->PutHeaderAppearance(EXGANTTLib::None2); spGantt1->PutBackColorHeader(RGB(255,255,255)); spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor()); spGantt1->PutHeaderHeight(24); spGantt1->PutHeaderVisible(VARIANT_TRUE); EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,196); var_Chart->PutLevelCount(2); var_Chart->PutBackColorLevelHeader(spGantt1->GetBackColorHeader()); var_Chart->PutForeColorLevelHeader(spGantt1->GetForeColorHeader()); EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Filter"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutAllowSort(VARIANT_FALSE); var_Column->PutAllowDragging(VARIANT_FALSE); spGantt1->EndUpdate(); |
902 |
How can I display the week-number in ISO8601 format
|
901 |
How can I include the child items, when a filter is applied
/* Copy and paste the following directives to your header file as it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library' #import <ExGantt.dll> using namespace EXGANTTLib; */ EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown(); spGantt1->BeginUpdate(); spGantt1->PutColumnAutoResize(VARIANT_TRUE); spGantt1->PutContinueColumnScroll(VARIANT_FALSE); spGantt1->PutMarkSearchColumn(VARIANT_FALSE); spGantt1->PutSearchColumnIndex(1); spGantt1->PutIndent(16); spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot); spGantt1->PutFilterBarPromptVisible(VARIANT_TRUE); spGantt1->PutFilterBarPromptPattern(L"Nancy"); spGantt1->PutFilterInclude(EXGANTTLib::exItemsWithChilds); spGantt1->GetChart()->PutLevelCount(2); EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns(); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Name")))->PutWidth(96); ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Title")))->PutWidth(96); var_Columns->Add(L"City"); EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems(); long h0 = var_Items->AddItem("Nancy Davolio"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"Seattle"); h0 = var_Items->InsertItem(h0,vtMissing,"Andrew Fuller"); var_Items->PutCellCaption(h0,long(1),"Vice President, Sales"); var_Items->PutCellCaption(h0,long(2),"Tacoma"); h0 = var_Items->InsertItem(h0,vtMissing,"Michael Suyama"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"London"); h0 = var_Items->AddItem("Janet Leverling"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"Kirkland"); h0 = var_Items->InsertItem(h0,vtMissing,"Margaret Peacock"); var_Items->PutCellCaption(h0,long(1),"Sales Representative"); var_Items->PutCellCaption(h0,long(2),"Redmond"); spGantt1->ApplyFilter(); spGantt1->EndUpdate(); |