526:
Is it possible to change the caption from a column without to remove the column and add it with the new caption
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"ColumnName")))->PutCaption(L"NewName");
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"ColumnName")))->PutHTMLCaption(L"<b>New</b>Name");

525:
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	// i = FormatABC("value + 1", Items.ItemToIndex(Item))
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->GetItems()->PutCellImage(Item,long(3),i);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXLISTLib::exImage);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	long h = var_Items->Add("Item B");
	var_Items->PutCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->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)`) )))");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column5 = spList1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXLISTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spList1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spList1->ApplyFilter();
spList1->EndUpdate();

524:
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	// i = FormatABC("value + 1", Items.ItemToIndex(Item))
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->GetItems()->PutCellImage(Item,long(3),i);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXLISTLib::exImage);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	long h = var_Items->Add("Item B");
	var_Items->PutCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->PutFilterBarCaption(L"all");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column5 = spList1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXLISTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spList1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spList1->ApplyFilter();
spList1->EndUpdate();

523:
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	// i = FormatABC("value + 1", Items.ItemToIndex(Item))
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->GetItems()->PutCellImage(Item,long(3),i);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXLISTLib::exImage);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	long h = var_Items->Add("Item B");
	var_Items->PutCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->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)`) )))");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column5 = spList1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXLISTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spList1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spList1->ApplyFilter();
spList1->EndUpdate();

522:
FilterBarCaption ALLUI Keyword ( sample 1 )
// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	// i = FormatABC("value + 1", Items.ItemToIndex(Item))
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->GetItems()->PutCellImage(Item,long(3),i);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXLISTLib::exImage);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	long h = var_Items->Add("Item B");
	var_Items->PutCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->PutFilterBarCaption(L"allui");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column5 = spList1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXLISTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spList1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spList1->ApplyFilter();
spList1->EndUpdate();

521:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	// i = FormatABC("value + 1", Items.ItemToIndex(Item))
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->GetItems()->PutCellImage(Item,long(3),i);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXLISTLib::exImage);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	long h = var_Items->Add("Item B");
	var_Items->PutCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->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)`) )))");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column5 = spList1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXLISTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spList1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spList1->ApplyFilter();
spList1->EndUpdate();

520:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	// i = FormatABC("value + 1", Items.ItemToIndex(Item))
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->GetItems()->PutCellImage(Item,long(3),i);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXLISTLib::exImage);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	long h = var_Items->Add("Item B");
	var_Items->PutCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->PutFilterBarCaption(L"value + ` ` + available");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column5 = spList1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXLISTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spList1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spList1->ApplyFilter();
spList1->EndUpdate();

519:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	var_Items->PutCaption(var_Items->Add("Item B"),long(1),"Sub-Item B");
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->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>`");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarToggle);
EXLISTLib::IColumnPtr var_Column3 = spList1->GetColumns()->GetItem(long(0));
	var_Column3->PutFilterType(EXLISTLib::exFilter);
	var_Column3->PutFilter(L"Item A|Item B");
EXLISTLib::IColumnPtr var_Column4 = spList1->GetColumns()->GetItem(long(1));
	var_Column4->PutFilterType(EXLISTLib::exPattern);
	var_Column4->PutFilter(L"*B");
spList1->ApplyFilter();
spList1->EndUpdate();

518:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	var_Items->PutCaption(var_Items->Add("Item B"),long(1),"Sub-Item B");
	var_Items->PutCaption(var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->PutFilterBarCaption(L"value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarToggle);
EXLISTLib::IColumnPtr var_Column3 = spList1->GetColumns()->GetItem(long(0));
	var_Column3->PutFilterType(EXLISTLib::exFilter);
	var_Column3->PutFilter(L"Item A|Item B");
EXLISTLib::IColumnPtr var_Column4 = spList1->GetColumns()->GetItem(long(1));
	var_Column4->PutFilterType(EXLISTLib::exPattern);
	var_Column4->PutFilter(L"*B");
spList1->ApplyFilter();
spList1->EndUpdate();

517:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A"),long(1),"Sub-Item A");
	var_Items->PutCaption(var_Items->Add("Item B"),long(1),"Sub-Item B");
	var_Items->PutCaption(var_Items->Add("Item C"),long(1),"Sub-Item C");
spList1->PutDescription(EXLISTLib::exFilterBarAnd,_bstr_t(spList1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spList1->GetDescription(EXLISTLib::exFilterBarAnd),vtMissing,vtMissing)));
spList1->PutFilterBarCaption(L"value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarToggle);
EXLISTLib::IColumnPtr var_Column3 = spList1->GetColumns()->GetItem(long(0));
	var_Column3->PutFilterType(EXLISTLib::exFilter);
	var_Column3->PutFilter(L"Item A|Item B");
EXLISTLib::IColumnPtr var_Column4 = spList1->GetColumns()->GetItem(long(1));
	var_Column4->PutFilterType(EXLISTLib::exPattern);
	var_Column4->PutFilter(L"*B");
spList1->ApplyFilter();
spList1->EndUpdate();

516:
Is it possible to automatically displays the control's filter label to the right

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarCaption(L"`<r>` + value");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarShowCloseOnRight | EXLISTLib::exFilterBarToggle));
EXLISTLib::IColumnPtr var_Column2 = spList1->GetColumns()->GetItem(long(0));
	var_Column2->PutFilterType(EXLISTLib::exFilter);
	var_Column2->PutFilter(L"Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

515:
How can I get the number of results/items being shown in the control's filter bar (sample 4)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsAsc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutFilterBarPrompt(_bstr_t(spList1->FormatABC(L"`<b>` + value",spList1->GetFilterBarPrompt(),vtMissing,vtMissing)));
spList1->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)`) )");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCompact | EXLISTLib::exFilterBarShowCloseOnRight | EXLISTLib::exFilterBarShowCloseIfRequired | EXLISTLib::exFilterBarCaptionVisible | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
spList1->EndUpdate();

514:
How can I get the number of results being shown in the control's filter bar (sample 3)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : ``)");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCompact | EXLISTLib::exFilterBarCaptionVisible | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

513:
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutFilterBarCaption(L"`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCompact | EXLISTLib::exFilterBarSingleLine | EXLISTLib::exFilterBarCaptionVisible | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

512:
How can I get the number of results being shown in the control's filter bar (sample 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutFilterBarCaption(L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCaptionVisible | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

511:
FilterBarCaption Predefined Keywords

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Check")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterType(EXLISTLib::exCheck);
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->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>`");
spList1->PutFilterBarPromptPattern(L"B");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCaptionVisible | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column2 = spList1->GetColumns()->GetItem(long(0));
	var_Column2->PutFilterType(EXLISTLib::exFilter);
	var_Column2->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

510:
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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("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>
*/
spList1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spList1->GetFont()))));
spList1->PutFilterBarCaption(L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
spList1->PutFilterBarPromptPattern(L"B");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCompact | EXLISTLib::exFilterBarSingleLine | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

509:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarShowCloseOnRight | EXLISTLib::exFilterBarToggle | EXLISTLib::exFilterBarPromptVisible));
spList1->PutFilterBarPrompt(_bstr_t(spList1->FormatABC(L"`<r>` + value",spList1->GetFilterBarPrompt(),vtMissing,vtMissing)));
spList1->EndUpdate();

508:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutRightToLeft(VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarToggle | EXLISTLib::exFilterBarPromptVisible));
spList1->EndUpdate();

507:
How can I change the visual appearance of the filter bar's close button (EBN)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IAppearancePtr var_Appearance = spList1->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");
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarToggle | EXLISTLib::exFilterBarPromptVisible));
spList1->PutBackground(EXLISTLib::exFooterFilterBarButton,0x1000000);
spList1->EndUpdate();

506:
How can I change the visual appearance of the filter bar's close button (solid)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutBackground(EXLISTLib::exFooterFilterBarButton,RGB(255,0,0));
spList1->EndUpdate();

505:
Is it possible to prevent definitely showing the filter bar's close button

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutBackground(EXLISTLib::exFooterFilterBarButton,-1);
spList1->EndUpdate();

504:
Is it possible to show the close button only if there is a filter applied

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarShowCloseIfRequired | EXLISTLib::exFilterBarPromptVisible));
spList1->EndUpdate();

503:
The control's filter bar is not closed once I click the close button (toggle)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarCaption(L"`<r><fgcolor=808080>` + value");
spList1->PutFilterBarPromptPattern(L"B");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCompact | EXLISTLib::exFilterBarToggle | EXLISTLib::exFilterBarSingleLine | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

502:
How can I display the control's filter on a single line

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarCaption(L"len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarSingleLine | EXLISTLib::exFilterBarVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

501:
How can I display the control's filter on a single line (prompt-combined)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarCaption(L"`<r>` + value");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarCompact | EXLISTLib::exFilterBarSingleLine | EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

500:
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void OnClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->ClearFilter();
}

// FilterChange event - Occurs when filter was changed.
void OnFilterChangeList1()
{
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"Items.MatchItemCount" );
	OutputDebugStringW( _bstr_t(spList1->GetItems()->GetMatchItemCount()) );
	OutputDebugStringW( _bstr_t(spList1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",spList1->GetItems()->GetMatchItemCount(),vtMissing,vtMissing)) );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutFilterBarPromptPattern(L"Item");
spList1->EndUpdate();

499:
How can I programmatically clear the control's filter
// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void OnClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->ClearFilter();
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutFilterBarPromptPattern(L"B");
spList1->EndUpdate();

498:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptPattern(L"B");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

497:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutFilterBarPromptPattern(L"B");
spList1->EndUpdate();

496:
Is it possible to prevent closing the control's filter bar, so it is always shown

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->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);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarCaption(L"len(value) = 0 ? `<fgcolor=808080>no filter` : value");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarVisible);
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

495:
How can I find if the control is running in DPI mode
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
OutputDebugStringW( _bstr_t(spList1->FormatABC(L"dpi = 1 ? `normal/stretch mode` : `dpi mode`",vtMissing,vtMissing,vtMissing)) );

494:
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item is selected.
void OnSelectionChangedList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"SelectionChanged" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->FreezeEvents(VARIANT_TRUE);
spList1->PutSingleSel(VARIANT_TRUE);
spList1->PutSelectOnRelease(VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Column")))->PutFormatColumn(L"1 apos `A-Z`");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->PutSelectItem(var_Items->Add(""),VARIANT_TRUE);
	var_Items->Add("");
spList1->FreezeEvents(VARIANT_FALSE);
spList1->EndUpdate();

493:
Is it possible to select nothing
// SelectionChanged event - Fired after a new item is selected.
void OnSelectionChangedList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"SelectionChanged" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->FreezeEvents(VARIANT_TRUE);
spList1->PutAllowSelectNothing(VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Column")))->PutFormatColumn(L"1 apos `A-Z`");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->PutSelectItem(var_Items->Add(""),VARIANT_TRUE);
	var_Items->Add("");
spList1->FreezeEvents(VARIANT_FALSE);
spList1->EndUpdate();

492:
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 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IAppearancePtr var_Appearance = spList1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
spList1->PutBackground(EXLISTLib::exHeaderFilterBarButton,0x1000000);
spList1->PutBackground(EXLISTLib::exCursorHoverColumn,-1);
spList1->PutHeaderAppearance(EXLISTLib::None2);
spList1->PutBackColorHeader(RGB(0,0,0));
spList1->PutForeColorHeader(RGB(255,255,255));
spList1->PutHeaderVisible(VARIANT_TRUE);
spList1->PutBackColorLevelHeader(spList1->GetBackColor());
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Filter")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutAllowDragging(VARIANT_FALSE);
spList1->EndUpdate();

491:
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 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IAppearancePtr var_Appearance = spList1->GetVisualAppearance();
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	var_Appearance->Add(1,"CP:2 -14 -4 -2 4");
spList1->PutBackground(EXLISTLib::exHeaderFilterBarButton,0x1000000);
spList1->PutBackground(EXLISTLib::exCursorHoverColumn,spList1->GetBackColor());
spList1->PutHeaderAppearance(EXLISTLib::None2);
spList1->PutBackColorHeader(RGB(255,255,255));
spList1->PutHeaderVisible(VARIANT_TRUE);
spList1->PutHeaderHeight(24);
spList1->PutBackColorLevelHeader(spList1->GetBackColor());
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Filter")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutAllowDragging(VARIANT_FALSE);
spList1->EndUpdate();

490:
Can I display the column's multiple-lines caption vertically oriented (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column->PutHTMLCaption(L"First Column");
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(36);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column1->PutHTMLCaption(L"<c><b>Second Column");
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(36);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column2->PutHTMLCaption(L"<r>Third Column");
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(36);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

489:
Can I display the column's multiple-lines caption vertically oriented (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutHeaderSingleLine(VARIANT_FALSE);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"First Column")));
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(36);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Second Column")));
		var_Column1->PutHeaderBold(VARIANT_TRUE);
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(36);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Third Column")));
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(36);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

488:
Can I display the column's caption vertically oriented (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column->PutHTMLCaption(L"First");
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(20);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column1->PutHTMLCaption(L"<c><b>Second");
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(20);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column2->PutHTMLCaption(L"<r>Third");
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(20);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

487:
Can I display the column's caption vertically oriented (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"First")));
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(20);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Second")));
		var_Column1->PutHeaderBold(VARIANT_TRUE);
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(20);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Third")));
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(20);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

486:
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"DateTime")));
	var_Column1->PutSortType(EXLISTLib::SortDateTime);
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Time")));
	var_Column2->PutSortType(EXLISTLib::SortTime);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
	var_Column2->PutFormatColumn(L"time(value)");
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Numeric")));
	var_Column3->PutSortType(EXLISTLib::SortNumeric);
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"String")));
	var_Column4->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column4->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(COleDateTime(2010,1,27,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(1),COleDateTime(2010,1,27,10,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),var_Items->GetCaption(h,long(1)));
	var_Items->PutCaption(h,long(3),long(1));
	var_Items->PutCaption(h,long(4),var_Items->GetCaption(h,long(3)));
	h = var_Items->Add(COleDateTime(2011,1,27,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(1),COleDateTime(2011,1,27,9,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),var_Items->GetCaption(h,long(1)));
	var_Items->PutCaption(h,long(3),long(11));
	var_Items->PutCaption(h,long(4),var_Items->GetCaption(h,long(3)));
	h = var_Items->Add(COleDateTime(2010,11,2,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(1),COleDateTime(2010,11,2,9,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),var_Items->GetCaption(h,long(1)));
	var_Items->PutCaption(h,long(3),long(2));
	var_Items->PutCaption(h,long(4),var_Items->GetCaption(h,long(3)));
spList1->GetColumns()->GetItem("DateTime")->PutDisplayFilterDate(VARIANT_FALSE);
spList1->EndUpdate();

485:
How can I get ride / hide the image being dragged by OLE Drag and Drop
// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("data to drag")
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->PutBackground(EXLISTLib::exDragDropAfter,RGB(255,255,255));
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");

484:
Is there an event that fires on the exList control when the order of items in the list is changed via dragging
// AllowAutoDrag event - Occurs when the user drags the item between InsertA and InsertB.
void OnAllowAutoDragList1(long   Item,long   InsertA,long   InsertB,BOOL FAR*   Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		OutputDebugStringW( L"After" );
		OutputDebugStringW( _bstr_t(var_Items->GetCaption(InsertA,long(0))) );
		OutputDebugStringW( L"Before" );
		OutputDebugStringW( _bstr_t(var_Items->GetCaption(InsertB,long(0))) );
	Cancel = VARIANT_TRUE;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutAutoDrag(EXLISTLib::exAutoDragPosition);
spList1->GetColumns()->Add(L"Task");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
spList1->EndUpdate();

483:
How can I export checked items only

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutFormatColumn(L"1 index `A-Z`");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C3")))->PutFormatColumn(L"100 index ``");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->PutCellState(var_Items->Add("Item 2"),long(0),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(0),1);
spList1->EndUpdate();
OutputDebugStringW( L"Export CSV Checked Items Only:" );
OutputDebugStringW( _bstr_t(spList1->Export("","chk")) );

482:
How can I export a hidden column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")));
		var_Column->PutFormatColumn(L"1 index `A-Z`");
		var_Column->PutVisible(VARIANT_FALSE);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C3")));
		var_Column1->PutFormatColumn(L"100 index ``");
		var_Column1->PutVisible(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->EndUpdate();
OutputDebugStringW( L"Export CSV Hidden Columns (1,2):" );
OutputDebugStringW( _bstr_t(spList1->Export("","|1,2")) );

481:
Is it possible to have a different alignment for parts of the cell's caption

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellHAlignment(var_Items->Add("all-left"),long(0),EXLISTLib::LeftAlignment);
	var_Items->PutCellHAlignment(var_Items->Add("all-center"),long(0),EXLISTLib::CenterAlignment);
	var_Items->PutCellHAlignment(var_Items->Add("all-right"),long(0),EXLISTLib::RightAlignment);
	long h = var_Items->Add("left<c>center<r>right");
	var_Items->PutCaptionFormat(h,long(0),EXLISTLib::exHTML);
spList1->EndUpdate();

480:
I have a column with Def(exCellSingleLine) property on False, word-wrapping, and I am wondering if possible to update the column's content while user is resizing it
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"MultipleLine")));
		var_Column->PutWidth(32);
		var_Column->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exColumnResizeContiguously,VARIANT_TRUE);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"SingleLine")));
		var_Column1->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("This is a bit of long text that should break the line"),long(1),"This is a bit of long text that should break the line");
spList1->EndUpdate();

479:
How can I hide the cell's tooltip
// ToolTip event - Fired when the control prepares the object's tooltip.
void OnToolTipList1(long   ItemIndex,long   ColIndex,BOOL FAR*   Visible,long FAR*   X,long FAR*   Y,long   CX,long   CY)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"The tooltip is about to be shown" );
	Visible = VARIANT_FALSE;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Def");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellToolTip(var_Items->Add("Item 1"),long(0),L"This is a bit of text that's shown when cursor hovers the item.");
	var_Items->PutCellToolTip(var_Items->Add("Item 2"),long(0),L"This is a bit of text that's shown when cursor hovers the item.");
	var_Items->PutCellToolTip(var_Items->Add("Item 3"),long(0),L"This is a bit of text that's shown when cursor hovers the item.");
spList1->EndUpdate();

478:
How can I find out if an item is selected or unselected
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveList1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	long i = spList1->GetItemFromPoint(-1,-1,c,hit);
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		OutputDebugStringW( _bstr_t(var_Items->GetSelectItem(i)) );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->GetColumns()->Add(L"Header");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->PutSelectItem(var_Items->Add("Item 2"),VARIANT_TRUE);
	var_Items->Add("Item 3");

477:
How do I sort the index column as numeric

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		var_Items->PutCellData(Item,long(1),Item);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
spList1->PutColumnAutoResize(VARIANT_TRUE);
spList1->PutShowFocusRect(VARIANT_FALSE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Next")));
	var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(4));
	var_Column->PutDef(EXLISTLib::exHeaderPaddingLeft,long(4));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Index")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutFormatColumn(L"(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)");
	var_Column1->PutDef(EXLISTLib::exCaptionFormat,long(1));
	var_Column1->PutSortType(EXLISTLib::SortUserData);
	var_Column1->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
	var_Items->Add("Item 5");
	var_Items->Add("Item 6");
	var_Items->Add("Item 7");
	var_Items->Add("Item 8");
	var_Items->Add("Item 9");
	var_Items->Add("Item 10");
spList1->EndUpdate();

476:
How can I put icons/images into buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_TRUE);
spList1->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=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"C+B")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutWidth(48);
	var_Column->PutFormatColumn(L"` <img>` + ( 1 + (1 index ``) mod 3 ) + `</img> `");
	var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::exCellHasButton,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::DefColumnEnum(EXLISTLib::exCellHasButton | EXLISTLib::exCellHasRadioButton),VARIANT_TRUE);
spList1->GetColumns()->Add(L"");
spList1->PutDrawGridLines(EXLISTLib::exVLines);
spList1->PutDefaultItemHeight(20);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
spList1->EndUpdate();

475:
Is it possible to have a CheckBox and Button TOGETHER on all cells in a column

// CellButtonClick event - Fired after the user clicks the cell's button.
void OnCellButtonClickList1(long   Item,long   ColIndex)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"CellButtonClick" );
	OutputDebugStringW( L"Item" );
}

// CellStateChanged event - Fired after cell's state is changed.
void OnCellStateChangedList1(long   Item,long   ColIndex)
{
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"CellStateChanged" );
	OutputDebugStringW( L"Item" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 index ``");
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutFormatColumn(L"`     `");
	var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column1->PutDef(EXLISTLib::exCellHasButton,VARIANT_TRUE);
	var_Column1->PutDef(EXLISTLib::DefColumnEnum(EXLISTLib::exCellHasButton | EXLISTLib::exCellHasRadioButton),VARIANT_TRUE);
spList1->GetColumns()->Add(L"");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
spList1->EndUpdate();

474:
Does filtering work with umlauts / accents characters
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Names")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXLISTLib::exPattern);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Mantel");
	var_Items->Add("Mechanik");
	var_Items->Add("Motor");
	var_Items->Add("Murks");
	var_Items->Add("Märchen");
	var_Items->Add("Möhren");
	var_Items->Add("Mühle");
	var_Items->Add("Sérigraphie");
spList1->GetColumns()->GetItem(long(0))->PutFilter(L"*ä*");
spList1->ApplyFilter();
spList1->EndUpdate();

473:
Can I set the search box / filterbarprompt to invisible, so I can use my own input and *string* via VBA
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_TRUE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSearchColumnIndex(1);
spList1->PutFilterBarHeight(0);
spList1->PutFilterBarPromptVisible(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Name")))->PutWidth(96);
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Title")))->PutWidth(96);
	var_Columns->Add(L"City");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h0 = var_Items->Add("Nancy Davolio");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"Seattle");
	h0 = var_Items->Add("Andrew Fuller");
	var_Items->PutCaption(h0,long(1),"Vice President, Sales");
	var_Items->PutCaption(h0,long(2),"Tacoma");
	var_Items->PutSelectItem(h0,VARIANT_TRUE);
	h0 = var_Items->Add("Janet Leverling");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"Kirkland");
	h0 = var_Items->Add("Margaret Peacock");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"Redmond");
	h0 = var_Items->Add("Steven Buchanan");
	var_Items->PutCaption(h0,long(1),"Sales Manager");
	var_Items->PutCaption(h0,long(2),"London");
	h0 = var_Items->Add("Michael Suyama");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"London");
	h0 = var_Items->Add("Robert King");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"London");
	h0 = var_Items->Add("Laura Callahan");
	var_Items->PutCaption(h0,long(1),"Inside Sales Coordinator");
	var_Items->PutCaption(h0,long(2),"Seattle");
	h0 = var_Items->Add("Anne Dodsworth");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"London");
spList1->PutFilterBarPromptPattern(L"London");
spList1->EndUpdate();

472:
How can I align captions of items with checkbox, with items with no checkbox

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellImages(var_Items->Add(long(0)),long(0),"1");
	var_Items->PutCellHasCheckBox(var_Items->Add(long(1)),long(0),VARIANT_TRUE);
	var_Items->PutCellImages(var_Items->Add(long(2)),long(0),"1");
spList1->EndUpdate();

471:
How do I programmatically scroll the control (method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->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\\ExList\\Sample\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutLayout(L"vscroll = 10");
spList1->EndUpdate();

470:
How do I programmatically scroll the control (method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->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\\ExList\\Sample\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutScrollPos(VARIANT_TRUE,10);
spList1->EndUpdate();

469:
How can I decode the Layout property
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutPosition(1);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("SubItem 1.1"),long(1),"SubItem 1.2");
	var_Items->PutCaption(var_Items->Add("SubItem 2.1"),long(1),"SubItem 2.2");
spList1->GetColumns()->GetItem("C2")->PutSortOrder(EXLISTLib::SortDescending);
spList1->EndUpdate();
OutputDebugStringW( L"Encoded:" );
OutputDebugStringW( spList1->GetLayout() );
/*
	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 'EXPRINTLib' for the library: 'ExPrint 1.0 Control Library'

	#import <ExPrint.dll>
	using namespace EXPRINTLib;
*/
EXPRINTLib::IExPrintPtr var_Print = ::CreateObject(L"Exontrol.Print");
	OutputDebugStringW( L"Decoded: " );
	OutputDebugStringW( var_Print->GetDecode64TextW(spList1->GetLayout()) );

468:
Does the title of the cell's tooltip supports HTML format

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutCaption(L"");
	var_Column->PutHTMLCaption(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("tooltip w/h different title");
	var_Items->PutCellToolTip(h,long(0),_bstr_t("<c><b><fgcolor=FF0000>Title</fgcolor></b><br>This is bit of text that's shown when the user hovers the cell. This shows the tit") +
"le centered with a different color.");
spList1->EndUpdate();

467:
How do I specify a different title for the cell's tooltip

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutCaption(L"This is the title");
	var_Column->PutHTMLCaption(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("tooltip w/h different title");
	var_Items->PutCellToolTip(h,long(0),L"This is bit of text that's shown when the user hovers the cell.");
spList1->EndUpdate();

466:
The cell's tooltip displays the column's caption in its title. How can I get ride of that

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("tooltip w/h caption");
	var_Items->PutCellToolTip(h,long(0),L"This is bit of text that's shown when the user hovers the cell. This shows the column's caption in the title.");
	var_Items->PutCaption(h,long(1),"tooltip no caption");
	var_Items->PutCellToolTip(h,long(1),L"This is bit of text that's shown when the user hovers the cell. This shows no column's caption in the title.");
EXLISTLib::IColumnPtr var_Column = spList1->GetColumns()->GetItem("C2");
	var_Column->PutHTMLCaption(var_Column->GetCaption());
	var_Column->PutCaption(L"");
spList1->EndUpdate();

465:
When you click the cell it takes some time before the edit box appears, can this delay be removed

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void OnClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	long h = spList1->GetItemFromPoint(-1,-1,ColIndex,HitTestInfo);
	spList1->GetItems()->Edit(h,ColIndex);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutAllowEdit(VARIANT_TRUE);
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->Add("Edit");
	var_Items->Add("");

464:
How can I programmatically show the column's filter

// RClick event - Fired when right mouse button is clicked
void OnRClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	long i = spList1->GetItemFromPoint(-1,-1,c,hit);
	spList1->GetColumns()->GetItem(c)->ShowFilter("-1,-1,128,128");
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutShowFocusRect(VARIANT_FALSE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items ")));
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->EndUpdate();

463:
I want to be able to click on one of the headers, and sort by other column. How can I do that

// ColumnClick event - Fired after the user clicks on column's header.
void OnColumnClickList1(LPDISPATCH   Column)
{
	// Column.SortOrder = 1
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->PutSortOnClick(EXLISTLib::exDefaultSort);
	spList1->GetColumns()->GetItem("Sort")->PutSortOrder(EXLISTLib::SortAscending);
	spList1->PutSortOnClick(EXLISTLib::exUserSort);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSortOnClick(EXLISTLib::exUserSort);
spList1->GetColumns()->Add(L"Items");
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Sort")))->PutVisible(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item 1 (3)"),long(1),long(3));
	var_Items->PutCaption(var_Items->Add("Item 2 (1)"),long(1),long(1));
	var_Items->PutCaption(var_Items->Add("Item 3 (2)"),long(1),long(2));
spList1->EndUpdate();

462:
How can I sort by two-columns, one by date and one by time

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSingleSort(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Index")))->PutFormatColumn(L"1 index ``");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Date")))->PutSortType(EXLISTLib::SortDate);
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Time")));
		var_Column->PutSortType(EXLISTLib::SortTime);
		var_Column->PutFormatColumn(L"time(value)");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,10,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2000,12,31,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,10,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,6,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2000,12,31,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,8,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,8,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2000,12,31,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,6,00,00).operator DATE());
spList1->PutLayout(L"multiplesort=\"C1:1 C2:1\"");
spList1->EndUpdate();

461:
How can I connect to a DBF file
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
spList1->PutMarkSearchColumn(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"ADODB.Recordset");
	rs->Open("Select * From foxcode.DBF","Provider=vfpoledb;Data Source=C:\\Program Files\\Microsoft Visual FoxPro 9\\",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->EndUpdate();

460:
Does your control supports scrolling by touching the screen

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->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.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutContinueColumnScroll(VARIANT_TRUE);
spList1->PutScrollBySingleLine(VARIANT_TRUE);
spList1->PutAutoDrag(EXLISTLib::AutoDragEnum(EXLISTLib::exAutoDragScrollOnShortTouch | EXLISTLib::exAutoDragScroll));

459:
How can I enlarge the size of the control's scroll bars, for using on touch screens

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutScrollBars(EXLISTLib::DisableBoth);
spList1->PutScrollWidth(32);
spList1->PutScrollHeight(32);
spList1->PutScrollButtonHeight(32);
spList1->PutScrollButtonWidth(32);

458:
Is there a syntax for conditional formatting of items, based on CellState/CellStateChange

// CellStateChanged event - Fired after cell's state is changed.
void OnCellStateChangedList1(long   Item,long   ColIndex)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		var_Items->PutCaption(Item,long(2),var_Items->GetCellState(Item,long(0)));
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSelBackMode(EXLISTLib::exTransparent);
EXLISTLib::IConditionalFormatPtr var_ConditionalFormat = spList1->GetConditionalFormats()->Add(L"%2 != 0",vtMissing);
	var_ConditionalFormat->PutBold(VARIANT_TRUE);
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXLISTLib::exFormatToItems);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutWidth(16);
	var_Column->PutAllowSizing(VARIANT_FALSE);
spList1->GetColumns()->Add(L"Information");
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Hidden")))->PutVisible(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add(""),long(1),"This is a bit of text associated");
	long h = var_Items->Add("");
	var_Items->PutCaption(h,long(1),"This is a bit of text associated");
	var_Items->PutCellState(h,long(0),1);
	var_Items->PutCaption(var_Items->Add(""),long(1),"This is a bit of text associated");
spList1->EndUpdate();

457:
How can I display the caption bellow to picture

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutScrollBySingleLine(VARIANT_TRUE);
spList1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\zipdisk.gif");
spList1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\auction.gif");
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("<c><img>p1</img><br><c>your caption1");
	var_Items->PutCellSingleLine(h,long(0),VARIANT_FALSE);
	var_Items->PutCaptionFormat(h,long(0),EXLISTLib::exHTML);
	h = var_Items->Add("<c><img>p2</img><br><c>your caption2");
	var_Items->PutCellSingleLine(h,long(0),VARIANT_FALSE);
	var_Items->PutCaptionFormat(h,long(0),EXLISTLib::exHTML);
spList1->EndUpdate();

456:
How can I add a vertical padding

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
	var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(6));
	var_Column->PutDef(EXLISTLib::exCellPaddingRight,long(6));
	var_Column->PutDef(EXLISTLib::exCellPaddingTop,long(6));
	var_Column->PutDef(EXLISTLib::exCellPaddingBottom,long(6));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("padding");
	var_Items->Add("padding");
spList1->EndUpdate();

455:
How do you embed HTML options into the anchor click string

// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickList1(LPCTSTR   AnchorID,LPCTSTR   Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
	OutputDebugStringW( L"Options" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Car")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("<a mazda_1;options for 1>Mazda <b>1</b></a>");
	var_Items->Add("<a mazda_2;options for 2>Mazda <b>2</b></a>");
	var_Items->Add("<a mazda_3;options for 3a>Mazda <b>3.a</b></a>");
	var_Items->Add("<a mazda_3;options for 3b>Mazda <b>3.b</b></a>");
spList1->EndUpdate();

454:
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 3)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BVEIQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQCWIAzATGYBRfIUEgjBM6ExwG78e") +
"gBHp/ZpkACIJJAaRjHQdJxGKKMQB9DIhCZpeKhWgkKIJBzOEyBRC4ERBGqNGrsIgLEqWZpnWhaNpWXYTLyBN64LhuK46g53O6wLxvK6hEr2dJ/YBcIAOfghf4NQ7EMRx" +
"LC8Mw3BDvYDkOAABAIgI=");
spList1->PutSelBackColor(0x1fffffe);
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutItemBackColor(var_Items->Add("red"),RGB(255,0,0));
	var_Items->PutItemBackColor(var_Items->Add("blue"),RGB(0,0,255));
	var_Items->PutItemBackColor(var_Items->Add("green"),RGB(0,255,0));
spList1->EndUpdate();

453:
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSelBackMode(EXLISTLib::exTransparent);
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutItemBackColor(var_Items->Add("red"),RGB(255,0,0));
	var_Items->PutItemBackColor(var_Items->Add("blue"),RGB(0,0,255));
	var_Items->PutItemBackColor(var_Items->Add("green"),RGB(0,255,0));
spList1->EndUpdate();

452:
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSelBackColor(spList1->GetBackColor());
spList1->PutSelForeColor(spList1->GetForeColor());
spList1->PutShowFocusRect(VARIANT_TRUE);
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutItemBackColor(var_Items->Add("red"),RGB(255,0,0));
	var_Items->PutItemBackColor(var_Items->Add("blue"),RGB(0,0,255));
	var_Items->PutItemBackColor(var_Items->Add("green"),RGB(0,255,0));
spList1->EndUpdate();

451:
I am using the FormatColumn property, but is it also possible to have a blank field when the value is '0'. I've tried the 'leading zero' flag in the FormatColumn, but that did not work

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Currency")))->PutFormatColumn(L"int(value) != 0 ? (value format `0||3|,`) : ``");
spList1->GetItems()->Add(long(123456789));
spList1->GetItems()->Add(long(1234));
spList1->GetItems()->Add(long(0));
spList1->GetItems()->Add(long(2345));

450:
Do you have a VB sample on how to use .FormatColumn to show this number '123456789' like '123,456,789'

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Currency")))->PutFormatColumn(L"value format `0||3|,`");
spList1->GetItems()->Add(long(123456789));
spList1->GetItems()->Add(long(1234));

449:
Is it possible to change the image while do OLE Drag and Drop operations

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData(Items.FocusItem)
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->GetColumns()->Add(L"Default");
spList1->GetItems()->Add("Item 1");
spList1->GetItems()->Add("Item 2");
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->PutHTMLPicture(L"OLEDragDropImage","C:\\Program Files\\Exontrol\\ExList\\Sample\\VB\\UNICODE\\unicode.jpg");

448:
Is it possible to change the image while do OLE Drag and Drop operations

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData(Items.FocusItem)
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->GetColumns()->Add(L"Default");
spList1->GetItems()->Add("Item 1");
spList1->GetItems()->Add("Item 2");
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->GetVisualAppearance()->Add(1,"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\EBN\\xpbselIcon.ebn");
spList1->PutBackground(EXLISTLib::exDragDropAfter,0x1000000);
spList1->PutBackground(EXLISTLib::exDragDropBefore,RGB(255,255,255));

447:
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spList1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\card.png");
spList1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\sun.png");
spList1->PutAutoDrag(EXLISTLib::exAutoDragCopySnapShot);
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->PutDefaultItemHeight(26);
spList1->GetColumns()->Add(L"Task");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaptionFormat(var_Items->Add("<img>p1:32</img> Group 1"),long(0),EXLISTLib::exHTML);
	var_Items->PutCaptionFormat(var_Items->Add("<img>p2:32</img> Group 2"),long(0),EXLISTLib::exHTML);
spList1->EndUpdate();

446:
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\card.png");
spList1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\sun.png");
spList1->PutHeaderHeight(24);
spList1->PutDefaultItemHeight(48);
spList1->PutDrawGridLines(EXLISTLib::GridLinesEnum(0xfffffffc | EXLISTLib::exVLines));
spList1->PutGridLineColor(RGB(240,240,240));
spList1->PutSelBackMode(EXLISTLib::exTransparent);
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->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\\ExList\\Sample\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->GetColumns()->GetItem(long(0))->PutDef(EXLISTLib::exCaptionFormat,long(1));
spList1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`");
spList1->GetColumns()->GetItem(long(0))->PutWidth(112);
spList1->PutAutoDrag(EXLISTLib::exAutoDragCopyImage);
spList1->PutSingleSel(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutSelectItem(1,VARIANT_TRUE);
	var_Items->PutSelectItem(2,VARIANT_TRUE);
	var_Items->PutSelectItem(3,VARIANT_TRUE);
spList1->EndUpdate();

445:
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->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\\ExList\\Sample\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutAutoDrag(EXLISTLib::exAutoDragCopyText);
spList1->PutSingleSel(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutSelectItem(1,VARIANT_TRUE);
	var_Items->PutSelectItem(3,VARIANT_TRUE);
	var_Items->PutSelectItem(4,VARIANT_TRUE);
	var_Items->PutSelectItem(5,VARIANT_TRUE);
spList1->EndUpdate();

444:
How can I change the row's position to another, by drag and drop. Is it possible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutAutoDrag(EXLISTLib::exAutoDragPosition);
spList1->GetColumns()->Add(L"Task");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
spList1->EndUpdate();

443:
Does your control support subscript or superscript, in HTML captions

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Column")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
spList1->GetItems()->Add("<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");

442:
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->PutLayout(L"Select=\"0\";SingleSort=\"C0:2\";Columns=1");
spList1->EndUpdate();

441:
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->PutLayout(_bstr_t("gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG") +
"QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" +
"jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI=");
spList1->EndUpdate();

440:
Is there any public method to export the selected data

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutFormatColumn(L"1 index `A-Z`");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C3")))->PutFormatColumn(L"100 index ``");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->PutSelectItem(var_Items->Add("Item 2"),VARIANT_TRUE);
	var_Items->Add("Item 3");
spList1->EndUpdate();
OutputDebugStringW( L"Export CSV Selected Items Only:" );
OutputDebugStringW( _bstr_t(spList1->Export("","sel")) );

439:
How can I change the visual aspect of the links in the sort bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\SAMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutSortBarHeight(24);
spList1->PutHeaderHeight(24);
spList1->PutBackColorSortBar(RGB(240,240,240));
spList1->PutBackColorSortBarCaption(spList1->GetBackColor());
spList1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BdsIQAAYAQGKIYBkAKBQAGaAoDDgNw0QwAAxjMK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpA") +
"AWL4tCyMc7QHKAWhrEAbJjgQYJUh+TQAAZCIJRXRQAL/K6rKwnSCQIgkUBpGKdBynEYoYxAfyESCJWyIahWAwoQjUMB1HLQAAxC5kKbkIxyBABFBdVjVeBYG78Bz+ABj" +
"EovbAMEwPBqAMwmIAZDheA4FR4AGhTXKcbxrFaXZSzKckPRoADSZq1Sg5LjDJI2ABqU6ABqNLZtJKsZS4apABrWeZ3Q7QMLdFTwA4PH6EZhxXAYbTVeaPZjQIBAgI");
spList1->PutSortBarVisible(VARIANT_TRUE);
spList1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column.");
EXLISTLib::IColumnPtr var_Column = spList1->GetColumns()->GetItem(long(1));
	var_Column->PutAlignment(EXLISTLib::CenterAlignment);
	var_Column->PutDef(EXLISTLib::exCellBackColor,long(15790320));
	var_Column->PutSortOrder(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(5));
	var_Column1->PutAlignment(EXLISTLib::CenterAlignment);
	var_Column1->PutDef(EXLISTLib::exCellBackColor,long(16119285));
	var_Column1->PutSortOrder(VARIANT_TRUE);
spList1->PutBackground(EXLISTLib::exSortBarLinkColor,0x1000000);
spList1->EndUpdate();

438:
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Car")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutFilterType(EXLISTLib::exFilter);
		var_Column->PutFilter(L"MAZDA");
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Equipment")));
		var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
		var_Column1->PutCustomFilter(L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
		var_Column1->PutFilterType(EXLISTLib::exPattern);
		var_Column1->PutFilter(L"AIR BAG");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag");
	var_Items->PutCaption(var_Items->Add("Toyota"),long(1),"Air Bag,Air condition");
	var_Items->PutCaption(var_Items->Add("Ford"),long(1),"Air condition");
	var_Items->PutCaption(var_Items->Add("Nissan"),long(1),"Air Bag,ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag, ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"ABS,ESP");
spList1->ApplyFilter();
spList1->EndUpdate();

437:
How can I have a case-sensitive filter

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Car")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutFilterType(EXLISTLib::FilterTypeEnum(EXLISTLib::exFilterDoCaseSensitive | EXLISTLib::exFilter));
		var_Column->PutFilter(L"Mazda");
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Equipment")));
		var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
		var_Column1->PutCustomFilter(L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
		var_Column1->PutFilterType(EXLISTLib::FilterTypeEnum(EXLISTLib::exFilterDoCaseSensitive | EXLISTLib::exPattern));
		var_Column1->PutFilter(L"Air Bag");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag");
	var_Items->PutCaption(var_Items->Add("Toyota"),long(1),"Air Bag,Air condition");
	var_Items->PutCaption(var_Items->Add("Ford"),long(1),"Air condition");
	var_Items->PutCaption(var_Items->Add("Nissan"),long(1),"Air Bag,ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag, ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"ABS,ESP");
spList1->ApplyFilter();
spList1->EndUpdate();

436:
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilter(L"Child 1");
	var_Column->PutFilterType(EXLISTLib::exFilter);
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exNoItems));
	var_Column1->PutFilter(L"COleDateTime(2010,12,28,0,00,00).operator DATE()");
	var_Column1->PutFilterType(EXLISTLib::exDate);
spList1->PutFilterCriteria(L"%0 or %1");
spList1->PutDescription(EXLISTLib::exFilterBarOr,L"<font ;18><fgcolor=FF0000>or</fgcolor></font>");
spList1->PutDescription(EXLISTLib::exFilterBarAnd,L"<font ;18><fgcolor=FF0000>and</fgcolor></font>");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->PutCaption(var_Items->Add("Child 1"),long(1),COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->PutCaption(var_Items->Add("Child 2"),long(1),COleDateTime(2010,12,28,0,00,00).operator DATE());
	h = var_Items->Add("Root 2");
	var_Items->PutCaption(var_Items->Add("Child 1"),long(1),COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->PutCaption(var_Items->Add("Child 2"),long(1),COleDateTime(2010,12,30,0,00,00).operator DATE());
spList1->ApplyFilter();
spList1->EndUpdate();

435:
Is it possible exclude the dates being selected in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->EndUpdate();

434:
How can I display a calendar control inside the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->EndUpdate();

433:
Is it possible to include the dates as checkb-boxes in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
	var_Column->PutFilter(L"to 12/27/2010");
	var_Column->PutFilterType(EXLISTLib::exDate);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->ApplyFilter();
spList1->EndUpdate();

432:
How can I filter items for dates before a specified date

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exNoItems));
	var_Column->PutFilter(L"to 12/27/2010");
	var_Column->PutFilterType(EXLISTLib::exDate);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->ApplyFilter();
spList1->EndUpdate();

431:
Is it possible to filter dates

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->EndUpdate();

430:
Is it possible to change the Exclude field name to something different, in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDescription(EXLISTLib::exFilterBarExclude,L"Leaving out");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
spList1->EndUpdate();

429:
How can I display the Exclude field in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
spList1->EndUpdate();

428:
Is it possible to show and ensure the focused item from the control, in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->PutSelectItem(var_Items->Add("Child 2"),VARIANT_TRUE);
spList1->EndUpdate();

427:
Is it possible to show only blanks items with no listed items from the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowBlanks | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

426:
How can I include the blanks items in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowBlanks | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

425:
How can I select multiple items in the drop down filter window, using check-boxes

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::exShowCheckBox);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

424:
Is it possible to allow a single item being selected in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::exSingleSel);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

423:
How can I display no (All) item in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDescription(EXLISTLib::exFilterBarAll,L"");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::exNoItems);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

422:
Is it possible to display no items in the drop down filter window, so only the pattern is visible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::exNoItems);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

421:
How can I sort the value gets listed in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutDescription(EXLISTLib::exFilterBarAll,L"");
spList1->PutDescription(EXLISTLib::exFilterBarBlanks,L"");
spList1->PutDescription(EXLISTLib::exFilterBarNonBlanks,L"");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"P1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::exSortItemsDesc);
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"P2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutFilterList(EXLISTLib::exSortItemsAsc);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Z3");
	var_Items->PutCaption(h,long(1),"C");
	var_Items->PutCaption(var_Items->Add("Z1"),long(1),"B");
	var_Items->PutCaption(var_Items->Add("Z2"),long(1),"A");

420:
How can I add or change the padding (spaces) for captions in the control's header

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding-Left")))->PutDef(EXLISTLib::exHeaderPaddingLeft,long(18));
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding-Right")));
	var_Column->PutDef(EXLISTLib::exHeaderPaddingRight,long(18));
	var_Column->PutHeaderAlignment(EXLISTLib::RightAlignment);
spList1->EndUpdate();

419:
Do you have any plans to add cell spacing and cell padding to the cells

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::GridLinesEnum(0xfffffffc | EXLISTLib::exVLines));
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding-Left")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(18));
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"No-Padding")))->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Empty")))->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A.1"),long(1),"Item A.2");
	var_Items->PutCaption(var_Items->Add("Item B.1"),long(1),"Item B.2");
	var_Items->PutCaption(var_Items->Add("Item C.1"),long(1),"Item C.2");
spList1->EndUpdate();

418:
Is it possible display numbers in the same format no matter of regional settings in the control panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default positive)'");
	h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '2|.|3|,|1|1')");
	h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default negative)'");
	h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '2|.|3|,|1|1')");
spList1->EndUpdate();

417:
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(0.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(0.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'");
spList1->EndUpdate();

416:
How can I specify the format for negative numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'");
spList1->EndUpdate();

415:
Is it possible to change the grouping character when display numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'");
spList1->EndUpdate();

414:
How can I display numbers with 2 digits in each group

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'");
spList1->EndUpdate();

413:
How can I display my numbers using a different decimal separator

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'");
spList1->EndUpdate();

412:
Is it possible to display the numbers using 3 (three) digits

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '3') +  ' <fgcolor=808080>(3 digits)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format 2) +  '  <fgcolor=808080>(2 digits)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format 1) +  ' <fgcolor=808080>(1 digit)'");
spList1->EndUpdate();

411:
Is it possible to format numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSelBackColor(spList1->GetBackColor());
spList1->PutSelForeColor(spList1->GetForeColor());
spList1->PutShowFocusRect(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Name");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"A")));
		var_Column->PutSortType(EXLISTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(36);
		var_Column->PutFormatColumn(L"len(value) ? value + ' +'");
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"B")));
		var_Column1->PutSortType(EXLISTLib::SortNumeric);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutWidth(36);
		var_Column1->PutFormatColumn(L"len(value) ? value + ' +'");
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C")));
		var_Column2->PutSortType(EXLISTLib::SortNumeric);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutWidth(36);
		var_Column2->PutFormatColumn(L"len(value) ? value + ' ='");
	EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"A+B+C")));
		var_Column3->PutSortType(EXLISTLib::SortNumeric);
		var_Column3->PutWidth(64);
		var_Column3->PutComputedField(L"dbl(%1)+dbl(%2)+dbl(%3)");
		var_Column3->PutFormatColumn(_bstr_t("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00") +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column3->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Item");
	var_Items->PutCaptionFormat(h,long(4),EXLISTLib::exComputedField);
	h = var_Items->Add("Item 1");
	var_Items->PutCaption(h,long(1),long(7));
	var_Items->PutCaption(h,long(2),long(3));
	var_Items->PutCaption(h,long(3),long(1));
	h = var_Items->Add("Item 2");
	var_Items->PutCaption(h,long(1),long(-2));
	var_Items->PutCaption(h,long(2),long(-2));
	var_Items->PutCaption(h,long(3),long(-4));
	h = var_Items->Add("Item 3");
	var_Items->PutCaption(h,long(1),long(2));
	var_Items->PutCaption(h,long(2),long(2));
	var_Items->PutCaption(h,long(3),long(-4));
spList1->EndUpdate();

410:
Is it possible background color displayed when the mouse passes over an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Def");
spList1->PutHotBackColor(RGB(0,0,128));
spList1->PutHotForeColor(RGB(255,255,255));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->EndUpdate();

409:
Is it possible to specify the cell's value but still want to display some formatted text instead the value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Name");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Values")));
		var_Column->PutSortType(EXLISTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(64);
		var_Column->PutFormatColumn(L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutFormatCell(var_Items->Add("Item A"),long(1),L"`<none>`");
	var_Items->PutCaption(var_Items->Add("Item 1"),long(1),long(10));
	var_Items->PutCaption(var_Items->Add("Item 2"),long(1),long(15));
	var_Items->PutCaption(var_Items->Add("Item 3"),long(1),long(25));
spList1->EndUpdate();

408:
I am using the FormatColumn to display the current currency, but would like hide some values. Is it possible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Name");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Values")));
		var_Column->PutSortType(EXLISTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(64);
		var_Column->PutFormatColumn(L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutFormatCell(var_Items->Add("Item A"),long(1),L" ");
	var_Items->PutCaption(var_Items->Add("Item 1"),long(1),long(10));
	var_Items->PutCaption(var_Items->Add("Item 2"),long(1),long(15));
	var_Items->PutCaption(var_Items->Add("Item 3"),long(1),long(25));
spList1->EndUpdate();

407:
I am using the FormatColumn to format my columns. Is it possible to ignore the SelForeColor, so the foreground color for selected items does not override my settings

// SelectionChanged event - Fired after a new item is selected.
void OnSelectionChangedList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		var_Items->ClearItemBackColor(-1);
		var_Items->PutItemBackColor(var_Items->GetSelectedItem(0),RGB(128,255,255));
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSelForeColor(spList1->GetForeColor());
spList1->PutSelBackColor(spList1->GetBackColor());
spList1->PutShowFocusRect(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Format")));
		var_Column->PutFormatColumn(_bstr_t("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00") +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(long(10));
	var_Items->Add(long(-8));
spList1->EndUpdate();

406:
Is it possible to change the height for all items at once

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
spList1->EndUpdate();
spList1->PutDefaultItemHeight(12);
spList1->GetItems()->PutItemHeight(-1,12);

405:
How can I change the shape of the line to be shown when user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("data to be dragged")
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->GetVisualAppearance()->Add(1,"C:\\Program Files\\Exontrol\\ExList\\Sample\\VB\\DragDrop\\insert_bottom.ebn");
spList1->PutBackground(EXLISTLib::exListOLEDropPosition,0x1000000);
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");

404:
How can I highlight the item from cursor when the user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("data to be dragged")
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->PutBackground(EXLISTLib::exListOLEDropPosition,RGB(1,0,0));
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");

403:
How can I start drag and drop items

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("to be carried by drag and drop")
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
spList1->EndUpdate();

402:
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Value");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"CellSingleLine = False")));
		var_Column->PutComputedField(L"%0");
		var_Column->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"FormatColumn/replace CRLF")));
		var_Column1->PutComputedField(L"%0");
		var_Column1->PutFormatColumn(L"value replace `\\r\\n` with ``");
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"FormatColumn/replace TAB,CRLF")));
		var_Column2->PutComputedField(L"%0");
		var_Column2->PutFormatColumn(L"(value replace `\\t` with ``) replace `\\r\\n` with ``");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("a\\ta\\r\\nb\\tb");

401:
The Column.Alignment property does not seem to work for cells with images in them. What can be done

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->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=");
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
spList1->PutHeaderHeight(24);
spList1->PutDefaultItemHeight(24);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutHTMLCaption(L"<img>1</img>");
	var_Column->PutHeaderAlignment(EXLISTLib::CenterAlignment);
	var_Column->PutAlignment(EXLISTLib::CenterAlignment);
	var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
spList1->GetColumns()->Add(L"Rest");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("<img>1</img>");
	var_Items->Add("<img>2</img>");
	var_Items->Add("<img>3</img>");
spList1->EndUpdate();