176:
How can I control the height of the control, so no scroll is required to view all items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Font.Size := 6;
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		OutputDebugString( VisibleItemsCount );
		VisibleItemsCount := 255;
		ToString := '1,2,3,4,5,6,7,8,9,10,11,12,13';
	end;
	Select(Null,Null,Null);
end
175:
How do I specify the control's height (method 3)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null).ItemHeight := 24;
		Add('Item 2',Null,Null).ItemHeight := 24;
		Add('Item 3',Null,Null).ItemHeight := 24;
	end;
	Select(Null,Null,Null);
end
174:
How do I specify the control's height (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null).Padding := '0,4,0,4';
		Add('Item 2',Null,Null).Padding := '0,4,0,4';
		Add('Item 3',Null,Null).Padding := '0,4,0,4';
	end;
	Select(Null,Null,Null);
end
173:
How do I specify the control's height (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Font.Size := 12;
	with Items do
	begin
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null);
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
172:
How can I change the visual appearance of the progress bar

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($104)] := $1000000;
	with Items do
	begin
		with Add('Progress',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditProgress;
			EditWidth := -128;
			EditValue := OleVariant(25);
		end;
	end;
	Select(Null,Null,Null);
end
171:
How can I change the progress's color

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($104)] := $ff;
	with Items do
	begin
		with Add('Progress',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditProgress;
			EditWidth := -128;
			EditValue := OleVariant(25);
		end;
	end;
	Select(Null,Null,Null);
end
170:
I am using the Item.Visible property on False to hide the item, but the editor is still visible

// CheckItem event - Occurs when the user checks the item.
procedure TForm1.ExContextMenu1CheckItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		with Items.item[OleVariant(1000)] do
		begin
			Visible := True;
			AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditReadOnly) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
		end;
		Select(Null,Null,Null);
	end
end;

// UncheckItem event - Occurs when the user unchecks the item.
procedure TForm1.ExContextMenu1UncheckItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		with Items.item[OleVariant(1000)] do
		begin
			Visible := False;
			AllowEdit := EXCONTEXTMENULib_TLB.exItemDisableEdit;
		end;
		Select(Null,Null,Null);
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			with Items do
			begin
				Add('Visible',Null,Null);
				with Add('',Null,Null) do
				begin
					Check := True;
					Checked := True;
				end;
				with Add('Item 2',Null,OleVariant(1000)) do
				begin
					ItemHeight := 18;
					Caption := 'Percent';
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditReadOnly) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
					EditValue := OleVariant(50);
					Visible := True;
				end;
				Add('Visible',Null,Null);
			end;
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
	end;
	Select(Null,Null,Null);
end
169:
How can I change the color of a disabled item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Disabled',OleVariant(2),OleVariant(0)) do
		begin
			ForeColor := $ff;
			Items.Add('',Null,Null);
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
		Add('Disabled',Null,Null).Enabled := False;
	end;
	Select(Null,Null,Null);
end
168:
Microsoft Windows 8.1 - Ribbon Like

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		ToString := '[id=0][group=0x03](),[id=-20][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])';
		with item[OleVariant(0)].Items do
		begin
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
			var_item3 := Add('New Page',Null,Null);
			with var_item3 do
			begin
				ToString := '[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][pa' + 
	'd=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03])';
				ID := 200;
				Caption := 'Page1';
				var_item := Items.Add('New Group',Null,Null);
				with var_item do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '<b><font ;14>A';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]';
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualWidth) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('R1',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := False;
								end;
								with Add('R2',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := True;
								end;
								with Add('R3',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := False;
								end;
							end;
						end;
					end;
				end;
				var_item1 := Items.Add('New Group',Null,Null);
				with var_item1 do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '<b><font ;14>B';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]';
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualHeight) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('C1',Null,Null) do
								begin
									Check := True;
									Checked := True;
								end;
								with Add('C2',Null,Null) do
								begin
									Check := True;
									Checked := False;
								end;
								with Add('C3',Null,Null) do
								begin
									Check := True;
									Checked := True;
								end;
							end;
						end;
					end;
				end;
				Items.Add('',OleVariant(0),OleVariant(0)).Padding := '4,0,0,0';
				var_item2 := Items.Add('New Group',Null,Null);
				with var_item2 do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]';
						with Add('',OleVariant(0),Null) do
						begin
							AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
							ItemHeight := 76;
							EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
							EditValue := OleVariant(25);
						end;
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('',OleVariant(2),Null) do
								begin
									GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
									with Items do
									begin
										with Add('Button1',OleVariant(2),Null) do
										begin
											ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
											with Items do
											begin
												Add('Item 1',Null,Null);
												Add('Item 2',Null,Null);
												Add('Item 3',Null,Null);
											end;
										end;
										Add('',OleVariant(0),OleVariant(0)).Padding := '4,0,0,0';
										with Add('Button2',OleVariant(2),Null) do
										begin
											ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
											with Items do
											begin
												Add('Item 4',Null,Null);
												Add('Item 5',Null,Null);
												Add('Item 6',Null,Null);
											end;
										end;
									end;
								end;
								with Add('Popup',OleVariant(2),Null) do
								begin
									Alignment := EXCONTEXTMENULib_TLB.exCenter;
									with Items do
									begin
										Add('Item 7',Null,Null).Check := True;
										Add('Item 8',Null,Null);
										with Add('Item 9',OleVariant(2),Null).Items do
										begin
											Add('Item 10',Null,Null);
											Add('Item 11',Null,Null);
											Add('Item 12',Null,Null);
										end;
									end;
								end;
							end;
						end;
					end;
				end;
			end;
			var_item4 := Add('New Page',Null,Null);
			with var_item4 do
			begin
				ToString := '[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][pa' + 
	'd=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03])';
				ID := 300;
				Caption := 'Page2';
				with Items do
				begin
					with Add('S1',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(25);
					end;
					with Add('S2',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(50);
					end;
					with Add('S3',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(75);
					end;
				end;
			end;
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
		end;
	end;
	with VisualAppearance do
	begin
		Add(1,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn');
		Add(2,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn');
		Add(12,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn');
		Add(14,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn');
		Add(17,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn');
		Add(18,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn');
		Add(32,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn');
		Add(33,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn');
		Add(34,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn');
		Add(35,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn');
	end;
	Appearance := EXCONTEXTMENULib_TLB.MenuBorderEnum($1000000);
	Background[EXCONTEXTMENULib_TLB.exToolTipAppearance] := Appearance;
	SelBackColor := $e000000;
	Background[EXCONTEXTMENULib_TLB.exMenuHotBackColor] := $c000000;
	Background[EXCONTEXTMENULib_TLB.exMenuSelHotBackColor] := $23000000;
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($2)] := $22000000;
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($3)] := $23000000;
	Background[EXCONTEXTMENULib_TLB.exCheckBoxState0] := $20000000;
	Background[EXCONTEXTMENULib_TLB.exCheckBoxState1] := $21000000;
	Select(Null,Null,Null);
end
167:
Microsoft Paint - Ribbon Like

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		ToString := '[id=0][group=0x03](),[id=-20][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])';
		with item[OleVariant(0)].Items do
		begin
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
			var_item3 := Add('New Page',Null,Null);
			with var_item3 do
			begin
				ToString := '[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][pa' + 
	'd=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03])';
				ID := 200;
				Caption := 'Page1';
				var_item := Items.Add('New Group',Null,Null);
				with var_item do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '<b><font ;14>A';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]';
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualWidth) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('R1',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := False;
								end;
								with Add('R2',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := True;
								end;
								with Add('R3',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := False;
								end;
							end;
						end;
					end;
				end;
				var_item1 := Items.Add('New Group',Null,Null);
				with var_item1 do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '<b><font ;14>B';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]';
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualHeight) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('C1',Null,Null) do
								begin
									Check := True;
									Checked := True;
								end;
								with Add('C2',Null,Null) do
								begin
									Check := True;
									Checked := False;
								end;
								with Add('C3',Null,Null) do
								begin
									Check := True;
									Checked := True;
								end;
							end;
						end;
					end;
				end;
				Items.Add('',OleVariant(0),OleVariant(0)).Padding := '4,0,0,0';
				var_item2 := Items.Add('New Group',Null,Null);
				with var_item2 do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]';
						with Add('',OleVariant(0),Null) do
						begin
							AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
							ItemHeight := 76;
							EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
							EditValue := OleVariant(25);
						end;
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('',OleVariant(2),Null) do
								begin
									GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
									with Items do
									begin
										with Add('Button1',OleVariant(2),Null) do
										begin
											ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
											with Items do
											begin
												Add('Item 1',Null,Null);
												Add('Item 2',Null,Null);
												Add('Item 3',Null,Null);
											end;
										end;
										Add('',OleVariant(0),OleVariant(0)).Padding := '4,0,0,0';
										with Add('Button2',OleVariant(2),Null) do
										begin
											ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
											with Items do
											begin
												Add('Item 4',Null,Null);
												Add('Item 5',Null,Null);
												Add('Item 6',Null,Null);
											end;
										end;
									end;
								end;
								with Add('Popup',OleVariant(2),Null) do
								begin
									Alignment := EXCONTEXTMENULib_TLB.exCenter;
									with Items do
									begin
										Add('Item 7',Null,Null).Check := True;
										Add('Item 8',Null,Null);
										with Add('Item 9',OleVariant(2),Null).Items do
										begin
											Add('Item 10',Null,Null);
											Add('Item 11',Null,Null);
											Add('Item 12',Null,Null);
										end;
									end;
								end;
							end;
						end;
					end;
				end;
			end;
			var_item4 := Add('New Page',Null,Null);
			with var_item4 do
			begin
				ToString := '[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][pa' + 
	'd=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03])';
				ID := 300;
				Caption := 'Page2';
				with Items do
				begin
					with Add('S1',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(25);
					end;
					with Add('S2',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(50);
					end;
					with Add('S3',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(75);
					end;
				end;
			end;
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
		end;
	end;
	with VisualAppearance do
	begin
		Add(1,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn');
		Add(2,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn');
		Add(3,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn');
		Add(4,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn');
		Add(5,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn');
		Add(6,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn');
		Add(7,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn');
		Add(8,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn');
		Add(9,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn');
		Add(10,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn');
		Add(11,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn');
		Add(12,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn');
		Add(13,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn');
		Add(14,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn');
		Add(15,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn');
		Add(16,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn');
		Add(17,'CP:16 0 0 0 1');
		Add(18,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn');
		Add(19,'C:/Program Files/Exontrol/ExContextMenu/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn');
		Add(20,'CP:19 0 0 0 1');
	end;
	LocalAppearance := EXCONTEXTMENULib_TLB.ShadowBorder;
	Appearance := EXCONTEXTMENULib_TLB.MenuBorderEnum($1000000);
	ForeColor := RGB(21,66,139);
	SelBackColor := $e000000;
	Background[EXCONTEXTMENULib_TLB.exToolTipAppearance] := Appearance;
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($2)] := $d000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameSingle] := $5000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHStart] := $6000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHIntermediate] := $7000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHEnd] := $8000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVStart] := $9000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVIntermediate] := $a000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVEnd] := $b000000;
	Background[EXCONTEXTMENULib_TLB.exMenuHotBackColor] := $c000000;
	Background[EXCONTEXTMENULib_TLB.exMenuSelHotBackColor] := $f000000;
	Select(Null,Null,Null);
end
166:
Microsoft Office - Ribbon Like

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		ToString := '[id=0][group=0x03](),[id=-20][bg=0x01000000][group=0x03][itemspad=4,4,4,4]([id=9000])';
		with item[OleVariant(0)].Items do
		begin
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
			var_item3 := Add('New Page',Null,Null);
			with var_item3 do
			begin
				ToString := '[id=0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][pa' + 
	'd=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03])';
				ID := 200;
				Caption := 'Page1';
				var_item := Items.Add('New Group',Null,Null);
				with var_item do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '<b><font ;14>A';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Horizontal`,align=0x11]';
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualWidth) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('R1',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := False;
								end;
								with Add('R2',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := True;
								end;
								with Add('R3',Null,Null) do
								begin
									RadioGroup := 100;
									Radio := True;
									ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
									Checked := False;
								end;
							end;
						end;
					end;
				end;
				var_item1 := Items.Add('New Group',Null,Null);
				with var_item1 do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '<b><font ;14>B';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Vertical`,align=0x11]';
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualHeight) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('C1',Null,Null) do
								begin
									Check := True;
									Checked := True;
								end;
								with Add('C2',Null,Null) do
								begin
									Check := True;
									Checked := False;
								end;
								with Add('C3',Null,Null) do
								begin
									Check := True;
									Checked := True;
								end;
							end;
						end;
					end;
				end;
				Items.Add('',OleVariant(0),OleVariant(0)).Padding := '4,0,0,0';
				var_item2 := Items.Add('New Group',Null,Null);
				with var_item2 do
				begin
					ToString := '[id=0][group=0x03][itemspad=4,4,4,18][itemsbg=0x02000000][itemsbghot=0x04000000]()';
					Caption := '';
					with Items do
					begin
						BackgroundExt := 'bottom[16,text=`<fgcolor A0A0A0><font ;8>Mixt`,align=0x11]';
						with Add('',OleVariant(0),Null) do
						begin
							AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
							ItemHeight := 76;
							EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
							EditValue := OleVariant(25);
						end;
						with Add('',OleVariant(2),Null) do
						begin
							GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
							Caption := '';
							with Items do
							begin
								with Add('',OleVariant(2),Null) do
								begin
									GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
									with Items do
									begin
										with Add('Button1',OleVariant(2),Null) do
										begin
											ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
											with Items do
											begin
												Add('Item 1',Null,Null);
												Add('Item 2',Null,Null);
												Add('Item 3',Null,Null);
											end;
										end;
										Add('',OleVariant(0),OleVariant(0)).Padding := '4,0,0,0';
										with Add('Button2',OleVariant(2),Null) do
										begin
											ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
											with Items do
											begin
												Add('Item 4',Null,Null);
												Add('Item 5',Null,Null);
												Add('Item 6',Null,Null);
											end;
										end;
									end;
								end;
								with Add('Popup',OleVariant(2),Null) do
								begin
									Alignment := EXCONTEXTMENULib_TLB.exCenter;
									with Items do
									begin
										Add('Item 7',Null,Null).Check := True;
										Add('Item 8',Null,Null);
										with Add('Item 9',OleVariant(2),Null).Items do
										begin
											Add('Item 10',Null,Null);
											Add('Item 11',Null,Null);
											Add('Item 12',Null,Null);
										end;
									end;
								end;
							end;
						end;
					end;
				end;
			end;
			var_item4 := Add('New Page',Null,Null);
			with var_item4 do
			begin
				ToString := '[id=0][typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=0x12000000][bgsel=0x11000000][bgselhot=0x14000000][group=0x03][tab=9000][pa' + 
	'd=4,0,4,0][popupoffset=-4,-1]([id=0][group=0x03])';
				ID := 300;
				Caption := 'Page2';
				with Items do
				begin
					with Add('S1',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(25);
					end;
					with Add('S2',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(50);
					end;
					with Add('S3',Null,Null) do
					begin
						ItemHeight := 88;
						AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditProgress);
						EditValue := OleVariant(75);
					end;
				end;
			end;
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
		end;
	end;
	with VisualAppearance do
	begin
		Add(1,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_background.ebn');
		Add(2,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_groupt.ebn');
		Add(3,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_groupo.ebn');
		Add(4,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_grouphot.ebn');
		Add(5,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_frameh.ebn');
		Add(6,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_framehs.ebn');
		Add(7,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_framehi.ebn');
		Add(8,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_framehe.ebn');
		Add(9,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_framevs.ebn');
		Add(10,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_framevi.ebn');
		Add(11,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_frameve.ebn');
		Add(12,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_select.ebn');
		Add(13,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_bordert.ebn');
		Add(14,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_buttond.ebn');
		Add(15,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_buttonu.ebn');
		Add(16,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_tab.ebn');
		Add(17,'CP:16 0 0 0 1');
		Add(18,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_tabhot.ebn');
		Add(19,'C:\Program Files\Exontrol\ExContextMenu\Sample\EBN\MSOffice-Ribbon\msor_tabselhot.ebn');
		Add(20,'CP:19 0 0 0 1');
	end;
	ForeColor := RGB(21,66,139);
	SelBackColor := $e000000;
	LocalAppearance := EXCONTEXTMENULib_TLB.ShadowBorder;
	Appearance := EXCONTEXTMENULib_TLB.MenuBorderEnum($1000000);
	Background[EXCONTEXTMENULib_TLB.exToolTipAppearance] := Appearance;
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($2)] := $d000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameSingle] := $5000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHStart] := $6000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHIntermediate] := $7000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHEnd] := $8000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVStart] := $9000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVIntermediate] := $a000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVEnd] := $b000000;
	Background[EXCONTEXTMENULib_TLB.exMenuHotBackColor] := $c000000;
	Background[EXCONTEXTMENULib_TLB.exMenuSelHotBackColor] := $f000000;
	Select(Null,Null,Null);
end
165:
How I can assign buttons to a tab

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := $f0f0f0;
	with Items do
	begin
		ToString := '[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=0][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-100' + 
	']))';
		with item[OleVariant(-10)].Items do
		begin
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
			with Add('New Page',Null,Null) do
			begin
				ToString := '[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][g' + 
	'roup=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))';
				Caption := 'Page<off -5><font ;5><b>1</b></font></off>';
				with Items do
				begin
					Add('Button 1',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
					Add('Button 2',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
					Add('Button 3',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
				end;
			end;
			with Add('New Page',Null,Null) do
			begin
				ToString := '[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][g' + 
	'roup=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))';
				Caption := 'Page<off -5><font ;5><b>2</b></font></off>';
				with Items do
				begin
					Add('Button 3',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
					Add('Button 4',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
				end;
			end;
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
		end;
	end;
	Select(Null,Null,Null);
end
164:
How can I hide an item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null).Visible := False;
		Add('Item 2',Null,Null);
	end;
	Select(Null,Null,Null);
end
163:
How do I get the item giving its caption

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null).ID := 1000;
		Add('Item 2',Null,Null).ID := 1001;
	end;
	item['Item 1'].Bold := True;
	Select(Null,Null,Null);
end
162:
How do I get the item giving its identifier

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null).ID := 1000;
		Add('Item 2',Null,Null).ID := 1001;
	end;
	item[OleVariant(1000)].Bold := True;
	Select(Null,Null,Null);
end
161:
Can I change the cursor where it hovers the item
ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Cursor := 'exCross';
	with Items do
	begin
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null).Cursor := 'exNoDrop';
	end;
	Select(Null,Null,Null);
end
160:
I am using radio-buttons, the question is it possible to uncheck the radio-buttons, so no button is pressed in the group

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	AllowToggleRadio := True;
	with Items do
	begin
		with Add('Radio 1',Null,OleVariant(1000)) do
		begin
			Radio := True;
			RadioGroup := 100;
		end;
		with Add('Radio 2',Null,OleVariant(1001)) do
		begin
			Radio := True;
			RadioGroup := 100;
		end;
		with Add('Radio 2',Null,OleVariant(1003)) do
		begin
			Radio := True;
			RadioGroup := 100;
		end;
	end;
	Select(Null,Null,Null);
end
159:
Is it possible to display the item's identifiers

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Debug := True;
	with Items do
	begin
		Add('Item 1',Null,Null).ID := 10001;
		Add('Item 2',Null,Null).ID := 10002;
	end;
	Select(Null,Null,Null);
end
158:
How do I disable showing the tooltip for all control (method 2)
ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	AllowToolTip := False;
	with Items do
	begin
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
	end;
	Select(Null,Null,Null);
end
157:
How can I disable the control

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null).Enabled := False;
		Add('Item 2',Null,Null).Enabled := False;
		Add('Item 3',Null,Null).Enabled := False;
	end;
	Select(Null,Null,Null);
end
156:
How can I specify a different border/visual appearance for drop down portion of the select buttons/combobox (ebn)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	LocalAppearance := EXCONTEXTMENULib_TLB.MenuBorderEnum($1000000);
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Button',OleVariant(2),Null) do
				begin
					ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
					with Items do
					begin
						Add('Item 1',Null,Null);
						Add('Item 2',Null,Null);
						Add('Item 3',Null,Null);
					end;
				end;
				with Add('Button',OleVariant(2),Null) do
				begin
					ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
					with Items do
					begin
						Add('Item 4',Null,Null);
						Add('Item 5',Null,Null);
						Add('Item 6',Null,Null);
					end;
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
155:
How can I specify a different border for drop down portion of the select buttons/combobox

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	LocalAppearance := EXCONTEXTMENULib_TLB.ShadowBorder;
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Button',OleVariant(2),Null) do
				begin
					ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
					with Items do
					begin
						Add('Item 1',Null,Null);
						Add('Item 2',Null,Null);
						Add('Item 3',Null,Null);
					end;
				end;
				with Add('Button',OleVariant(2),Null) do
				begin
					ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
					with Items do
					begin
						Add('Item 4',Null,Null);
						Add('Item 5',Null,Null);
						Add('Item 6',Null,Null);
					end;
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
154:
How can I change the visual appearance for the entire control

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Appearance := EXCONTEXTMENULib_TLB.MenuBorderEnum($1000000);
	ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemCheckHighlight;
	with Items do
	begin
		Padding := '4,4,4,4';
		with Add('Radio 1',Null,Null) do
		begin
			Radio := True;
			Checked := True;
		end;
		Add('Radio 2',Null,Null).Radio := True;
		Add('Radio 3',Null,Null).Radio := True;
	end;
	Select(Null,Null,Null);
end
153:
How can I show a border arround the control

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Appearance := EXCONTEXTMENULib_TLB.FlatBorder;
	ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemCheckHighlight;
	with Items do
	begin
		Padding := '4,4,4,4';
		with Add('Check 1',Null,Null) do
		begin
			Checked := True;
			Check := True;
		end;
		with Add('Check 2',Null,Null) do
		begin
			Check := True;
		end;
	end;
	Select(Null,Null,Null);
end
152:
Is it possible to change the item's background color when check/uncheck the item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemCheckHighlight;
	with Items do
	begin
		Padding := '4,4,4,4';
		with Add('Check 1',Null,Null) do
		begin
			Checked := True;
			Check := True;
		end;
		with Add('Check 2',Null,Null) do
		begin
			Check := True;
		end;
	end;
	Select(Null,Null,Null);
end
151:
How can I change the colors for hot/hover items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.exMenuHotBackColor] := $10000;
	Background[EXCONTEXTMENULib_TLB.exMenuHotForeColor] := $ffffff;
	Background[EXCONTEXTMENULib_TLB.exMenuSelHotBackColor] := $808080;
	Background[EXCONTEXTMENULib_TLB.exMenuSelHotForeColor] := $ffffff;
	SelBackColor := RGB(128,128,128);
	SelForeColor := RGB(255,255,255);
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := $808080;
	ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemCheckHighlight;
	with Items do
	begin
		Padding := '4,4,4,4';
		Add('',Null,Null).ToString := '[group=3](Item 1,Item 2)';
		with Add('Check 1',Null,Null) do
		begin
			Checked := True;
			Check := True;
		end;
		with Add('Check 2',Null,Null) do
		begin
			Check := True;
		end;
	end;
	Select(Null,Null,Null);
end
150:
How do I change the visual appearance of the groups (vertical)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with VisualAppearance do
	begin
		Add(1,'c:\exontrol\images\normal.ebn');
		Add(2,'c:\exontrol\images\pushed.ebn');
		Add(3,'c:\exontrol\images\hot.ebn');
	end;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameSingle] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVStart] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVIntermediate] := $2000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameVEnd] := $3000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameSolid] := $ff;
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Vertical',OleVariant(2),Null) do
				begin
					Alignment := EXCONTEXTMENULib_TLB.exCenter;
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					with Items do
					begin
						Add('Item 1',Null,Null);
						Add('Item 2',Null,Null);
						Add('Item 3',Null,Null);
						Add('Item 4',Null,Null);
						Add('Item 5',Null,Null);
					end;
				end;
				Add('',Null,Null).CaptionWidth := 12;
				with Add('Vertical',OleVariant(2),Null) do
				begin
					Alignment := EXCONTEXTMENULib_TLB.exCenter;
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameThickBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameSolidBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					with Items do
					begin
						Add('Item 1',Null,Null);
						Add('Item 2',Null,Null);
						Add('Item 3',Null,Null);
						Add('Item 4',Null,Null);
						Add('Item 5',Null,Null);
					end;
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
149:
How do I change the visual appearance of the groups (horizontal)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with VisualAppearance do
	begin
		Add(1,'c:\exontrol\images\normal.ebn');
		Add(2,'c:\exontrol\images\pushed.ebn');
		Add(3,'c:\exontrol\images\hot.ebn');
	end;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameSingle] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHStart] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHIntermediate] := $2000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameHEnd] := $3000000;
	Background[EXCONTEXTMENULib_TLB.exGroupPopupFrameSolid] := $ff;
	with Items do
	begin
		with Add('Horizontal Group',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
				Add('Item 4',Null,Null);
				Add('Item 5',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := 'Horizontal Group[group=193](Item 1,Item 2,Item 3,Item 4,Item 5)';
	end;
	Select(Null,Null,Null);
end
148:
How can I change the visual appearance of the separator item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Background[EXCONTEXTMENULib_TLB.exMenuSeparatorItem] := $1000000;
	with Items do
	begin
		Add('Item',Null,Null).CaptionWidth := 128;
		Add('',OleVariant(1),Null);
		Add('Item',Null,Null).CaptionWidth := 128;
		Add('',Null,Null).ToString := '<font ;5>separator[sep]';
	end;
	Select(Null,Null,Null);
end
147:
How can I change the visual appearance of the flat portion of the drop down of the control

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	FlatBackColor := $1000000;
	Background[EXCONTEXTMENULib_TLB.exMenuFlatLineColor] := FlatBackColor;
	with Items do
	begin
		with Add('Popup',OleVariant(2),Null).Items do
		begin
			Add('Item 1',Null,Null).Check := True;
			Add('Item 2',Null,Null).Check := True;
			Add('Item 3',Null,Null).Check := True;
		end;
	end;
	Select(Null,Null,Null);
end
146:
How can I change the visual appearance of the radio-buttons to be displayed in the context menu (ebn)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with VisualAppearance do
	begin
		Add(1,'c:\exontrol\images\normal.ebn');
		Add(2,'c:\exontrol\images\pushed.ebn');
	end;
	Background[EXCONTEXTMENULib_TLB.exRadioButtonState0] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exRadioButtonState1] := $2000000;
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			with Items do
			begin
				with Add('Radio 1',Null,OleVariant(1000)) do
				begin
					Radio := True;
					RadioGroup := 100;
				end;
				with Add('Radio 2',Null,OleVariant(1001)) do
				begin
					Radio := True;
					RadioGroup := 100;
				end;
				with Add('Radio 2',Null,OleVariant(1003)) do
				begin
					Radio := True;
					RadioGroup := 100;
				end;
				item[OleVariant(1000)].Checked := True;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
145:
How can I change the visual appearance of the check-boxes to be displayed in the context menu (ebn)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with VisualAppearance do
	begin
		Add(1,'c:\exontrol\images\normal.ebn');
		Add(2,'c:\exontrol\images\pushed.ebn');
	end;
	Background[EXCONTEXTMENULib_TLB.exCheckBoxState0] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exCheckBoxState1] := $2000000;
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Check 1',Null,Null) do
				begin
					Check := True;
					Checked := True;
				end;
				Add('Check 2',Null,Null).Check := True;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
144:
How can I change the visual appearance of the tooltips to be displayed in the context menu (ebn)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with VisualAppearance do
	begin
		Add(1,'c:\exontrol\images\normal.ebn');
		Add(2,'c:\exontrol\images\pushed.ebn');
	end;
	ToolTipDelay := 1;
	Background[EXCONTEXTMENULib_TLB.exToolTipAppearance] := $1000000;
	Background[EXCONTEXTMENULib_TLB.exToolTipForeColor] := $ff;
	with Items do
	begin
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
	end;
	Select(Null,Null,Null);
end
143:
Is it possible to change the visual appearance of the buttons to be displayed in the context menu (ebn)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with VisualAppearance do
	begin
		Add(1,'c:\exontrol\images\normal.ebn');
		Add(2,'c:\exontrol\images\pushed.ebn');
	end;
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($2)] := $1000000;
	Background[EXCONTEXTMENULib_TLB.BackgroundPartEnum($3)] := $2000000;
	Background[EXCONTEXTMENULib_TLB.exMenuSeparatorSelectButton] := $ff;
	Background[EXCONTEXTMENULib_TLB.exMenuSeparatorSelectButtonBottom] := $ff0000;
	with Items do
	begin
		Padding := '4,4,4,4';
		Add('Button',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
		with Add('',Null,Null) do
		begin
			Enabled := False;
			ItemHeight := 4;
		end;
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		with Add('',Null,Null) do
		begin
			Enabled := False;
			ItemHeight := 4;
		end;
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButton) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
	end;
	Select(Null,Null,Null);
end
142:
I've seen that the width of the tooltip is variable. Can I make it larger

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToolTipWidth := 328;
	with Items do
	begin
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
	end;
	Select(Null,Null,Null);
end
141:
How do I disable showing the tooltip for all control (method 1)
ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToolTipDelay := 0;
	with Items do
	begin
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
	end;
	Select(Null,Null,Null);
end
140:
How do I let the tooltip being displayed longer

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToolTipPopDelay := 10000;
	with Items do
	begin
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
	end;
	Select(Null,Null,Null);
end
139:
How do I show the tooltip quicker

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToolTipDelay := 1;
	with Items do
	begin
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
		Add('Item',Null,Null).Tooltip := 'this is a bit of text to be shown when cursor hovers it';
	end;
	Select(Null,Null,Null);
end
138:
How can I get the version of the control I am running
ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	OutputDebugString( Version );
end
137:
How can I align the picture on the control's background
ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Picture := (IUnknown(ExContextMenu1.ExecuteTemplate('loadpicture(`c:\exontrol\images\card.png`)')) as _TLB.Object);
	PictureDisplay := EXCONTEXTMENULib_TLB.UpperRight;
	with Items do
	begin
		Add('Item',Null,Null);
		Add('Item',Null,Null);
	end;
	Select(Null,Null,Null);
end
136:
Is it possible to place a picture on the control's background
ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Picture := (IUnknown(ExContextMenu1.ExecuteTemplate('loadpicture(`c:\exontrol\images\card.png`)')) as _TLB.Object);
	with Items do
	begin
		Add('Item',Null,Null);
		Add('Item',Null,Null);
	end;
	Select(Null,Null,Null);
end
135:
How can I display the item using a different font/size

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('',Null,Null).Caption := '<font ;14>This is a bit of text';
		Add('<font ;6>This is a bit of text',Null,Null);
		Add('',Null,Null).Caption := '<font Times New Roman;22>This is a bit of text</font>. Default';
	end;
	Select(Null,Null,Null);
end
134:
How can I use the Event event, available for /COM version

// Event event - Notifies the application once the control fires an event.
procedure TForm1.ExContextMenu1Event(ASender: TObject; EventID : Integer);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'Event' );
		OutputDebugString( EventParam[-2] );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Check',Null,Null).Check := True;
		with Add('Slider',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
			EditWidth := 128;
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
			EditValue := OleVariant(25);
		end;
	end;
	Select(Null,Null,Null);
end
133:
Is it possible to get notified once the user edits the field, or change the slider value

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'EditChange event on Itm object' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Item',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
			EditWidth := 128;
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
			EditValue := OleVariant(25);
		end;
	end;
	Select(Null,Null,Null);
end
132:
How do I get notified once I uncheck an item
// UncheckItem event - Occurs when the user unchecks the item.
procedure TForm1.ExContextMenu1UncheckItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'UncheckItem event on Itm object' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Check := True;
		Add('Item',Null,Null).Check := True;
	end;
	Select(Null,Null,Null);
end
131:
How do I get notified once I check an item
// CheckItem event - Occurs when the user checks the item.
procedure TForm1.ExContextMenu1CheckItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'CheckItem event on Itm object' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Check := True;
		Add('Item',Null,Null).Check := True;
	end;
	Select(Null,Null,Null);
end
130:
How do I get notified once I click/select an item
// SelectItem event - Occurs when the user selects the item.
procedure TForm1.ExContextMenu1SelectItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'SelectItem event on Itm object' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null);
		Add('Item',Null,Null);
	end;
	Select(Null,Null,Null);
end
129:
Does your control support padding for items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		Padding := '2,12,2,2';
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		BackColor := $ffffff;
		BackgroundExt := 'root[pattern=0x000,frame=RGB(128,128,128)](top[2],top[10,text=`<font ;6><fgcolor 808080> group </font></fgcolor>`,align=0x11])';
	end;
	Select(Null,Null,Null);
end
128:
How can I change the visual appearance for items, when cursor hovers it (hot,EBN)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				HotBackColor := $1000000;
				Padding := '4,8,4,8';
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := '[group=0x03][itemspad=4,8,4,8][itemsbghot=0x1000000](Item 1,Item 2,Item 3)';
	end;
	Select(Null,Null,Null);
end
127:
How can I change the background color for items, when cursor hovers it (hot)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				HotBackColor := $ff;
				Padding := '0,8,0,8';
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := '[group=0x03][itemspad=0,8,0,8][itemsbghot=RGB(255,0,0)](Item 1,Item 2,Item 3)';
	end;
	Select(Null,Null,Null);
end
126:
How can I change the visual appearance for items (EBN)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				BackColor := $1000000;
				Padding := '4,8,4,8';
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := '[group=0x03][itemspad=4,8,4,8][itemsbg=0x1000000](Item 1,Item 2,Item 3)';
	end;
	Select(Null,Null,Null);
end
125:
How can I change the background color for items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				BackColor := $ff;
				Padding := '0,8,0,8';
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := '[group=0x03][itemspad=0,8,0,8][itemsbg=RGB(255,0,0)](Item 1,Item 2,Item 3)';
	end;
	Select(Null,Null,Null);
end
124:
How do I hide the left gray portion to be shown on the drop down menu/popup (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	FlatImageWidth := 0;
	with Items do
	begin
		with Add('Popup',OleVariant(2),Null).Items do
		begin
			Add('Item 1',Null,Null);
			Add('Item 2',Null,Null);
			Add('Item 3',Null,Null);
		end;
	end;
	Select(Null,Null,Null);
end
123:
How do I hide the left gray portion to be shown on the drop down menu/popup (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		with Add('Popup',OleVariant(2),Null).Items do
		begin
			Add('Item 1',Null,Null);
			Add('Item 2',Null,Null);
			Add('Item 3',Null,Null);
		end;
	end;
	Select(Null,Null,Null);
end
122:
How can I arrange the drop down item from left to right, rather than top to bottom

// SelectItem event - Occurs when the user selects the item.
procedure TForm1.ExContextMenu1SelectItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'Clicked' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	MenuAppearance := EXCONTEXTMENULib_TLB.exMenuNormal;
	with Items do
	begin
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				with Add('',OleVariant(2),Null) do
				begin
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					with Items do
					begin
						Add('Item 1',Null,Null);
						Add('Item 2',Null,Null);
						Add('Item 3',Null,Null);
					end;
				end;
			end;
		end;
		Add('',Null,Null).ToString := 'Button[button=0x0113][popupapp=6]([group=0x03](Item 1,Item 2,Item 3))';
	end;
	Select(Null,Null,Null);
end
121:
How can I add a drop down button / combobox (method 2)

// SelectItem event - Occurs when the user selects the item.
procedure TForm1.ExContextMenu1SelectItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'Clicked' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButtonBottom) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := 'Button[button=275][popupapp=6](Item 1[id=20],Item 2[id=30],Item 3[id=40])';
	end;
	Select(Null,Null,Null);
end
120:
How can I add a drop down button / combobox (method 1)

// SelectItem event - Occurs when the user selects the item.
procedure TForm1.ExContextMenu1SelectItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'Clicked' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButton) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := 'Button[button=0x13][popupapp=6](Item 1[id=20],Item 2[id=30],Item 3[id=40])';
	end;
	Select(Null,Null,Null);
end
119:
I am using exShowAsSelectButton/exShowAsSelectButtonBottom but none of them works. What could be wrong

// SelectItem event - Occurs when the user selects the item.
procedure TForm1.ExContextMenu1SelectItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'Clicked' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Button',OleVariant(2),Null) do
		begin
			ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsSelectButton) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
	end;
	Select(Null,Null,Null);
end
118:
How can I add a button (push button)

// SelectItem event - Occurs when the user selects the item.
procedure TForm1.ExContextMenu1SelectItem(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( 'Clicked' );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Button',Null,Null).ShowAsButton := Integer(EXCONTEXTMENULib_TLB.exShowAsButtonAutoSize) Or Integer(EXCONTEXTMENULib_TLB.exShowAsButton);
		Add('',Null,Null).ToString := 'Button[button=0x03]';
	end;
	Select(Null,Null,Null);
end
117:
How can I display grouping items with no frame arround

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Horizontal Group',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameThickBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameSolidBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualHeight) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualWidth) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('A',Null,Null).Alignment := EXCONTEXTMENULib_TLB.exCenter;
				Add('BC',Null,Null).Alignment := EXCONTEXTMENULib_TLB.exCenter;
				Add('D',Null,Null).Alignment := EXCONTEXTMENULib_TLB.exCenter;
			end;
		end;
		Add('',Null,Null).ToString := 'Horizontal Group[group=243](A[id=20][align=1],BC[id=30][align=1],D[id=40][align=1])';
	end;
	Select(Null,Null,Null);
end
116:
How can I display grouping items of the same size/width/height

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Horizontal Group',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameThickBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameSolidBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualHeight) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupEqualWidth) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('A',Null,Null).Alignment := EXCONTEXTMENULib_TLB.exCenter;
				Add('BC',Null,Null).Alignment := EXCONTEXTMENULib_TLB.exCenter;
				Add('D',Null,Null).Alignment := EXCONTEXTMENULib_TLB.exCenter;
			end;
		end;
		Add('',Null,Null).ToString := 'Horizontal Group[group=0xF1](A[id=20][align=1],BC[id=30][align=1],D[id=40][align=1])';
	end;
	Select(Null,Null,Null);
end
115:
Is it possible to display a ticker frame arround grouping items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Horizontal Group',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameThickBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopupFrameSolidBox) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := 'Horizontal Group[group=193](Item 1[id=20],Item 2[id=30],Item 3[id=40])';
	end;
	Select(Null,Null,Null);
end
114:
How do I display items horizontally arranged

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Horizontal Group',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		Add('',Null,Null).ToString := 'Horizontal Group[group=0x01](Item 1[id=20],Item 2[id=30],Item 3[id=40])';
	end;
	Select(Null,Null,Null);
end
113:
Is it possible to expand an item when it is clicked (tree,group,vertical)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Expand',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			Check := True;
			ShowPopupOnChecked := True;
			with Items do
			begin
				Padding := '22,0,0,0';
				Add('Radio 1',Null,Null).Radio := True;
				Add('Radio 2',Null,Null).Radio := True;
				with Add('Radio 3',Null,Null) do
				begin
					Radio := True;
					Checked := True;
				end;
			end;
			Checked := True;
		end;
		Add('',Null,Null).ToString := 'Expand[typ=1][chk=1][spchk=-1][group=0x0103][itemspad=22,0,0,0](Radio 1[id=20][typ=2],Radio 2[id=30][typ=2],Radio 3[id=40][typ=2' + 
	'][chk=1])';
	end;
	Select(Null,Null,Null);
end
112:
Is it possible to expand an item when it is clicked (tree,group,vertical)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Expand',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			Check := True;
			ShowPopupOnChecked := True;
			with Items do
			begin
				Padding := '22,0,0,0';
				Add('Radio 1',Null,Null).Radio := True;
				Add('Radio 2',Null,Null).Radio := True;
				with Add('Radio 3',Null,Null) do
				begin
					Radio := True;
					Checked := True;
				end;
			end;
			Checked := True;
		end;
	end;
	Select(Null,Null,Null);
end
111:
Is it possible to expand an item when it is clicked (group)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Expand',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			ItemHeight := 24;
			Check := True;
			ShowPopupOnChecked := True;
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
	end;
	Select(Null,Null,Null);
end
110:
Is it possible to extend an item when it is clicked

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Expand',OleVariant(2),Null) do
		begin
			Check := True;
			ShowPopupOnChecked := True;
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
	end;
	Select(Null,Null,Null);
end
109:
Does your control implement padding for item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		BackColor := $fafafa;
		Add('Item',Null,Null).Padding := '4,4,4,4';
		Add('',Null,Null).ToString := 'Item[pad=4,4,4,4]';
	end;
	Select(Null,Null,Null);
end
108:
How can I add an empty item for a horizontal group

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('Item 1',Null,Null);
				with Add('',OleVariant(2),Null) do
				begin
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupCenter) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					ItemHeight := 12;
					with Items.Add('',Null,Null) do
					begin
						Enabled := False;
						ItemHeight := 8;
						CaptionWidth := 8;
					end;
				end;
				Add('Item 2',Null,Null);
			end;
		end;
	end;
	Select(Null,Null,Null);
end
107:
How can I add an empty/separator item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null);
		with Add('',Null,Null) do
		begin
			Enabled := False;
			ItemHeight := 2;
			CaptionWidth := 8;
			BackColor := $f0f0f0;
		end;
		Add('Item',Null,Null);
	end;
	Select(Null,Null,Null);
end
106:
How can I add an empty/frame item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null);
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupCenter) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			ItemHeight := 12;
			with Items.Add('',Null,Null) do
			begin
				Enabled := False;
				ItemHeight := 8;
				CaptionWidth := 8;
			end;
		end;
		Add('Item 2',Null,Null);
	end;
	Select(Null,Null,Null);
end
105:
How can I specify the height of the item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		BackColor := $fafafa;
		Add('Item',Null,Null).ItemHeight := 64;
		Add('',Null,Null).ToString := 'Item[height=64]';
	end;
	Select(Null,Null,Null);
end
104:
How can I specify the width of the item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		BackColor := $fafafa;
		Add('Item',Null,Null).CaptionWidth := 128;
		Add('',Null,Null).ToString := 'Item[captionwidth=128]';
	end;
	Select(Null,Null,Null);
end
103:
How do I align the item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		BackColor := $fafafa;
		Add('Item',Null,Null);
		with Add('Item',Null,Null) do
		begin
			Alignment := EXCONTEXTMENULib_TLB.exCenter;
			CaptionWidth := 128;
		end;
		with Add('Item',Null,Null) do
		begin
			Alignment := EXCONTEXTMENULib_TLB.exRight;
			CaptionWidth := 128;
		end;
		Add('',Null,Null).ToString := 'Item[align=1]';
	end;
	Select(Null,Null,Null);
end
102:
How can I underline the item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Underline := True;
		Add('<u>Item</u>',Null,Null);
		Add('',Null,Null).ToString := 'Item[und]';
	end;
	Select(Null,Null,Null);
end
101:
How can I show the item as strikeout

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Strikeout := True;
		Add('<s>Item</s>',Null,Null);
		Add('',Null,Null).ToString := 'Item[stk]';
	end;
	Select(Null,Null,Null);
end
100:
How can I show the item in italics

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Italic := True;
		Add('<i>Item</i>',Null,Null);
		Add('',Null,Null).ToString := 'Item[itl]';
	end;
	Select(Null,Null,Null);
end
99:
How can I show the item in bold

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Bold := True;
		Add('<b>Item</b>',Null,Null);
		Add('',Null,Null).ToString := 'Item[bld]';
	end;
	Select(Null,Null,Null);
end
98:
How can I show the item as disabled but still be able to select or use it

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).ShowAsDisabled := True;
		Add('',Null,Null).ToString := 'Item[showdis=1]';
	end;
	Select(Null,Null,Null);
end
97:
How can I enable or disable an item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).Enabled := False;
		Add('',Null,Null).ToString := 'Item[dis]';
	end;
	Select(Null,Null,Null);
end
96:
How can I add a separator item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).CaptionWidth := 128;
		Add('<font ;6>separator',OleVariant(1),Null);
		Add('Item',Null,Null).CaptionWidth := 128;
		Add('',Null,Null).ToString := '<font ;6>separator[sep]';
	end;
	Select(Null,Null,Null);
end
95:
How can I change the item's foreground color

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).ForeColor := $ff;
		Add('<fgcolor FF0000>Item',Null,Null);
		Add('',Null,Null).ToString := 'Item[fg=RGB(255,0,0)]';
	end;
	Select(Null,Null,Null);
end
94:
How can I change the item's background/backcolor, when the item is selected/checked (radio-buttons)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Radio 1',Null,Null) do
				begin
					HotBackColor := $ffffff;
					SelBackColor := $ff;
					SelHotBackColor := $ff;
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
					Radio := True;
					RadioGroup := 100;
					Checked := True;
				end;
				with Add('Radio 2',Null,Null) do
				begin
					HotBackColor := $ffffff;
					SelBackColor := $ff;
					SelHotBackColor := $ff;
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
					Radio := True;
					RadioGroup := 100;
				end;
				Add('',Null,Null).ToString := 'Radio 3[typ=2][show=1][grp=100][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]';
			end;
		end;
	end;
	Select(Null,Null,Null);
end
93:
How can I change the item's background/backcolor, when the item is selected/checked (check-box)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Check 1',Null,Null) do
		begin
			HotBackColor := $ffffff;
			SelBackColor := $ff;
			SelHotBackColor := $ff;
			ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
			Checked := True;
			Check := True;
		end;
		Add('',Null,Null).ToString := 'Check 2[typ=1][chk=0][show=1][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]';
	end;
	Select(Null,Null,Null);
end
92:
How can I prevent showing the border for selected/highlight/hot items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := $ffffff;
	with Items do
	begin
		Add('Item',Null,Null);
		Add('Item',Null,Null);
	end;
	Select(Null,Null,Null);
end
91:
How can I change the item's background/backcolor, when the cursor hovers it (hot)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item',Null,Null).HotBackColor := $ff;
		Add('',Null,Null).ToString := 'Item[bghot=RGB(255,0,0)]';
	end;
	Select(Null,Null,Null);
end
90:
How can I change the item's background/backcolor

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		Add('Item',Null,Null).BackColor := $ff;
		Add('Item',Null,Null).BackColor := $1000000;
		Add('',Null,Null).ToString := 'Item[bg=RGB(255,0,0)]';
	end;
	Select(Null,Null,Null);
end
89:
How can I specify/assign the item's identifier

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Debug := True;
	with Items do
	begin
		Add('ID 1',OleVariant(0),OleVariant(1000));
		Add('ID 2',Null,Null).ID := 1001;
		Add('',Null,Null).ToString := 'ID 3[id=1002]';
	end;
	Select(Null,Null,Null);
end
88:
How can I show a horizontal separator/line between groups (method 3,EBN color)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('',Null,Null) do
				begin
					AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := -128;
					EditValue := OleVariant(25);
				end;
				with Add('',Null,Null) do
				begin
					Enabled := False;
					BackColor := $1000000;
					ItemHeight := 8;
					CaptionWidth := 128;
				end;
				with Add('',Null,Null) do
				begin
					AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := -128;
					EditValue := OleVariant(25);
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
87:
How can I show a horizontal separator/line between groups (method 2,solid color)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('',Null,Null) do
				begin
					AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := -128;
					EditValue := OleVariant(25);
				end;
				with Add('',Null,Null) do
				begin
					Enabled := False;
					BackColor := $808080;
					ItemHeight := 8;
					CaptionWidth := 128;
				end;
				with Add('',Null,Null) do
				begin
					AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := -128;
					EditValue := OleVariant(25);
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
86:
How can I show a horizontal separator/line between groups (method 1,pattern)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('',Null,Null) do
				begin
					AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := -128;
					EditValue := OleVariant(25);
				end;
				with Add('',OleVariant(2),Null) do
				begin
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					with Items do
					begin
						with Add('',Null,Null) do
						begin
							Enabled := False;
							ItemHeight := 8;
							CaptionWidth := 128;
						end;
						BackgroundExt := 'none[(0,50%-1,100%,2),pattern=0x006,patterncolor=RGB(128,128,128)]';
					end;
				end;
				with Add('',Null,Null) do
				begin
					AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := -128;
					EditValue := OleVariant(25);
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
85:
How can I show a vertical separator/line between groups (method 3,EBN color)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('',Null,Null) do
				begin
					ItemHeight := 128;
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := 32;
					EditValue := OleVariant(25);
				end;
				with Add('',Null,Null) do
				begin
					Enabled := False;
					BackColor := $1000000;
					ItemHeight := 96;
					CaptionWidth := 8;
				end;
				with Add('',Null,Null) do
				begin
					ItemHeight := 128;
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := 32;
					EditValue := OleVariant(25);
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
84:
How can I show a vertical separator/line between groups (method 2,solid color)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('',Null,Null) do
				begin
					ItemHeight := 128;
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := 32;
					EditValue := OleVariant(25);
				end;
				with Add('',Null,Null) do
				begin
					Enabled := False;
					BackColor := $808080;
					ItemHeight := 96;
					CaptionWidth := 8;
				end;
				with Add('',Null,Null) do
				begin
					ItemHeight := 128;
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := 32;
					EditValue := OleVariant(25);
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
83:
How can I show a vertical separator/line between groups (method 1,pattern)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('',Null,Null) do
				begin
					ItemHeight := 128;
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := 32;
					EditValue := OleVariant(25);
				end;
				with Add('',OleVariant(2),Null) do
				begin
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					with Items do
					begin
						with Add('',Null,Null) do
						begin
							Enabled := False;
							ItemHeight := 96;
							CaptionWidth := 8;
						end;
						BackgroundExt := 'none[(50%-1,0,2,100%),pattern=6,patterncolor=RGB(128,128,128)]';
					end;
				end;
				with Add('',Null,Null) do
				begin
					ItemHeight := 128;
					AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
					EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
					EditWidth := 32;
					EditValue := OleVariant(25);
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
82:
How can I show a pattern on the items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		BackColor := $ffffff;
		Padding := '2,2,2,12';
		BackgroundExt := 'root[pattern=0x006,patterncolor=RGB(128,128,128),frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off' + 
	' -2> clipboard </off></font></fgcolor>`,align=0x21])';
	end;
	Select(Null,Null,Null);
end
81:
How can I show a thick frame arround the items

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		BackColor := $ffffff;
		Padding := '2,2,2,12';
		BackgroundExt := 'root[frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor>`,alig' + 
	'n=0x21])';
	end;
	Select(Null,Null,Null);
end
80:
How can I add some additional icons on the background

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		BackColor := $ffffff;
		Padding := '0,0,0,16';
		BackgroundExt := 'root[text=`<img>2</img><font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor><img>2</img>`,align=0x21]';
	end;
	Select(Null,Null,Null);
end
79:
How can I add some additional text on the background

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
		end;
		BackColor := $ffffff;
		Padding := '0,0,0,8';
		BackgroundExt := 'root[text=`<font ;6><fgcolor 808080>clipboard`,align=0x21]';
	end;
	Select(Null,Null,Null);
end
78:
How can I assign a tooltip to an item (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'ToolTip[id=10][ttp=This is a bit of text that should be shown when cursor hovers the item]';
	Select(Null,Null,Null);
end
77:
How can I assign a tooltip to an item (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.Add('ToolTip',Null,Null).Tooltip := 'This is a bit of text that should be shown when cursor hovers the item';
	Select(Null,Null,Null);
end
76:
How can I assign a spin field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Spin',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSpin;
			EditWidth := 16;
			EditValue := OleVariant(15);
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
			EditOption[EXCONTEXTMENULib_TLB.exEditMaxValue] := OleVariant(1000);
		end;
		with Add('Edit-Spin',Null,Null) do
		begin
			AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditText);
			EditWidth := -128;
			EditValue := OleVariant(15);
			EditOption[EXCONTEXTMENULib_TLB.exEditMaxValue] := OleVariant(1000);
		end;
		with Add('Splider-Spin',Null,Null) do
		begin
			AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditSpin) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
			EditWidth := -128;
			EditValue := OleVariant(25);
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
		end;
	end;
	Select(Null,Null,Null);
end
75:
How can I assign a spin field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Spin[id=10][edittype=0x0200][edit=15][border=0][max=1000][editwidth=16],Edit-Spin[id=20][edittype=0x0201][edit=15][max=1000][edi' + 
	'twidth=-128],Splider-Spin[id=30][edittype=0x0203][edit=25][border=0][editwidth=-128]';
	Select(Null,Null,Null);
end
74:
How can I add a vertical slider (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Vertical[id=10][edittype=0x0403][edit=25][border=0][height=128]';
	Select(Null,Null,Null);
end
73:
How can I add a vertical slider (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Vertical',Null,Null) do
		begin
			ItemHeight := 128;
			AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditVertical) Or Integer(EXCONTEXTMENULib_TLB.exItemEditSlider);
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
			EditWidth := 32;
			EditValue := OleVariant(25);
		end;
	end;
	Select(Null,Null,Null);
end
72:
How can I disable an editor (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Disabled[id=10][dis][edittype=0x01][edit=text-box][editwidth=-128]';
	Select(Null,Null,Null);
end
71:
How can I disable an editor (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Disabled',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditText;
			EditWidth := -128;
			EditValue := 'text-box';
			Enabled := False;
		end;
	end;
	Select(Null,Null,Null);
end
70:
How can I lock an editor (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Locked[id=10][edittype=0x0101][edit=disabled text-box][editwidth=-128]';
	Select(Null,Null,Null);
end
69:
How can I lock an editor (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Locked',Null,Null) do
		begin
			AllowEdit := Integer(EXCONTEXTMENULib_TLB.exItemEditReadOnly) Or Integer(EXCONTEXTMENULib_TLB.exItemEditText);
			EditWidth := -128;
			EditValue := 'disabled text-box';
		end;
	end;
	Select(Null,Null,Null);
end
68:
How can I assign a font field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Font',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditFont;
			EditWidth := -128;
			EditValue := 'Tahoma';
		end;
	end;
	Select(Null,Null,Null);
end
67:
How can I assign a font field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Font[id=10][edittype=0x07][edit=Tahoma][editwidth=-128]';
	Select(Null,Null,Null);
end
66:
How can I assign a color field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Color',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditColor;
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
			EditWidth := -128;
			EditValue := OleVariant(255);
		end;
	end;
	Select(Null,Null,Null);
end
65:
How can I assign a color field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Color[id=10][edittype=0x06][edit=#FF0000][border=0][editwidth=-128]';
	Select(Null,Null,Null);
end
64:
How can I assign a scrollbar field to the item (method 2)
// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('ScrollBar',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditScrollBar;
			EditWidth := -128;
			EditValue := '25';
		end;
	end;
	Select(Null,Null,Null);
end
63:
How can I assign a scrollbar field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'ScrollBar[id=10][edittype=0x05][edit=25][editwidth=-128]';
	Select(Null,Null,Null);
end
62:
Is it possible to change the tooltip beging shown when I change the slider/scroll/progress value

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Progress',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditProgress;
			EditWidth := -128;
			EditValue := OleVariant(25);
			EditOption[EXCONTEXTMENULib_TLB.exEditChangeToolTip] := '`Current value is: ` + value';
		end;
	end;
	Select(Null,Null,Null);
end
61:
How can I hide the tooltip beging shown when I change the slider/scroll/progress value
// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Progress',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditProgress;
			EditWidth := -128;
			EditValue := OleVariant(25);
			EditOption[EXCONTEXTMENULib_TLB.exEditChangeToolTip] := '';
		end;
	end;
	Select(Null,Null,Null);
end
60:
How can I assign a progress field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Progress',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditProgress;
			EditWidth := -128;
			EditValue := OleVariant(25);
		end;
	end;
	Select(Null,Null,Null);
end
59:
How can I assign a progress field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Progress[id=10][edittype=0x04][edit=25][editwidth=-128]';
	Select(Null,Null,Null);
end
58:
How can I assign a slider field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Slider',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
			EditWidth := -128;
			EditValue := OleVariant(25);
		end;
		with Add('Slider',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditSlider;
			EditBorder := EXCONTEXTMENULib_TLB.exEditBorderNone;
			EditWidth := -128;
			EditOption[EXCONTEXTMENULib_TLB.exEditMinValue] := OleVariant(50);
			EditOption[EXCONTEXTMENULib_TLB.exEditMaxValue] := OleVariant(450);
			EditOption[EXCONTEXTMENULib_TLB.exEditTickStyle] := OleVariant(2);
			EditOption[EXCONTEXTMENULib_TLB.exEditTickFrequency] := OleVariant(50);
			EditOption[EXCONTEXTMENULib_TLB.exEditTickLabel] := 'value = vmin ? ''<br><font ;6><b>''+value : ( value = vmax ? ''<br><font ;6><b>''+value : ( value = 200 ? ''<br><font ;6><b><fgcolor ' + 
	'FF0000>''+value : '''' ) )';
			EditValue := OleVariant(345);
		end;
	end;
	Select(Null,Null,Null);
end
57:
How can I assign a slider field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Slider[id=10][edittype=0x03][edit=25][editwidth=-128],Slider[id=20][edittype=0x03][edit=345][border=0][min=50][max=450][tick=2][' + 
	'freq=50][ticklabel=value = vmin ? ''<br><font ;6><b>''+value : ( value = vmax ? ''<br><font ;6><b>''+value : ( value = 200 ? ''<br><f' + 
	'ont ;6><b><fgcolor FF0000>''+value : '''' ) )][editwidth=-128]';
	Select(Null,Null,Null);
end
56:
How can I assign a mask (time) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Time',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := '99:00:00;;0;overtype,warning=Invalid character';
			EditValue := '123456';
		end;
	end;
	Select(Null,Null,Null);
end
55:
How can I assign a mask (time) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Time[id=10][edittype=0x02][edit=12:34:56][mask=99:00:00;;0;overtype,warning=Invalid character][editwidth=-128]';
	Select(Null,Null,Null);
end
54:
How can I assign a mask (license key) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('License Key',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := 'AAAA-AAAA-AAAA-AAAA';
			EditValue := '1234';
		end;
	end;
	Select(Null,Null,Null);
end
53:
How can I assign a mask (license key) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'License Key[id=10][edittype=0x02][edit=1234-____-____-____][mask=AAAA-AAAA-AAAA-AAAA][editwidth=-128]';
	Select(Null,Null,Null);
end
52:
How can I assign a mask (IP address) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('IP Address',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := '{0,255}.{0,255}.{0,255}.{0,255}';
			EditValue := '1.2.3.4';
		end;
	end;
	Select(Null,Null,Null);
end
51:
How can I assign a mask (IP address) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'IP Address[id=10][edittype=0x02][edit=1.2.3.4][mask={0,255}.{0,255}.{0,255}.{0,255}][editwidth=-128]';
	Select(Null,Null,Null);
end
50:
How can I assign a mask (phone) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Phone',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := '!(9999) 000 000;;;empty,select=4,overtype,beep';
			EditValue := '0771638317';
		end;
	end;
	Select(Null,Null,Null);
end
49:
How can I assign a mask (phone) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Phone[id=10][edittype=0x02][edit=(0771) 638 317][mask=!(9999) 000 000;;;empty,select=4,overtype,beep][editwidth=-128]';
	Select(Null,Null,Null);
end
48:
How can I assign a mask (date) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := '`Date: `{1,12}/{1,31}/{1950,2050};;;select=1';
			EditValue := '2/15/2015';
		end;
		with Add('Date',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := '!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,overtype';
			EditValue := '2/15/2015';
		end;
	end;
	Select(Null,Null,Null);
end
47:
How can I assign a mask (date) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := '[id=10][edittype=0x02][edit=Date: 2/15/2015][mask=`Date: `{1,12}/{1,31}/{1950,2050};;;select=1][editwidth=-128],Date[id=20][edit' + 
	'type=0x02][edit=02/15/2015][mask=!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,ove' + 
	'rtype][editwidth=-128]';
	Select(Null,Null,Null);
end
46:
How can I assign a mask (integer) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Integer',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := ';;;float,grouping=,digits=0';
			EditValue := OleVariant(1000);
		end;
		with Add('Integer-Grouping',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := ';;;float,decimal=,digits=0,select=1';
			EditValue := OleVariant(1000);
		end;
		with Add('Integer-In-Range',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := '{0,2050}';
			EditValue := OleVariant(1000);
		end;
	end;
	Select(Null,Null,Null);
end
45:
How can I assign a mask (integer) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Integer[id=10][edittype=0x02][edit=1000][mask=;;;float,grouping=,digits=0][editwidth=-128],Integer-Grouping[id=20][edittype=0x02' + 
	'][edit=1,000][mask=;;;float,decimal=,digits=0,select=1][editwidth=-128],Integer-In-Range[id=30][edittype=0x02][edit=1000][mask={' + 
	'0,2050}][editwidth=-128]';
	Select(Null,Null,Null);
end
44:
How can I assign a mask field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Mask',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditMask;
			EditWidth := -128;
			EditMask := ';;;float,select=1';
			EditValue := OleVariant(1000);
		end;
	end;
	Select(Null,Null,Null);
end
43:
How can I assign a mask field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Text-Box[id=10][edittype=0x02][edit=1,000][mask=;;;float,select=1][editwidth=-128]';
	Select(Null,Null,Null);
end
42:
How can I assign an edit / text-box to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Mask',Null,Null) do
		begin
			AllowEdit := EXCONTEXTMENULib_TLB.exItemEditText;
			EditValue := 'this is a text';
			EditWidth := -128;
		end;
	end;
	Select(Null,Null,Null);
end
41:
How can I assign an edit / text-box to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
procedure TForm1.ExContextMenu1EditChange(ASender: TObject; Itm : IItem);
begin
	with ExContextMenu1 do
	begin
		OutputDebugString( Itm );
	end
end;

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := 'Text-Box[edit=this is a text][editwidth=-128]';
	Select(Null,Null,Null);
end
40:
How can I display a tab into the context menu (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := $f0f0f0;
	with Items do
	begin
		ToString := '[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=0][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-100' + 
	']))';
		with item[OleVariant(-10)].Items do
		begin
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
			with Add('New Page',Null,Null) do
			begin
				ToString := '[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][g' + 
	'roup=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))';
				Caption := 'Page<off -5><font ;5><b>1</b></font></off>';
				with Items do
				begin
					Add('add here fields for page 1',Null,Null).Enabled := False;
				end;
			end;
			with Add('New Page',Null,Null) do
			begin
				ToString := '[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][g' + 
	'roup=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))';
				Caption := 'Page<off -5><font ;5><b>2</b></font></off>';
				with Items do
				begin
					Add('add here fields for page 2',Null,Null).Enabled := False;
				end;
			end;
			Add('',OleVariant(0),OleVariant(0)).Padding := '8,0,0,0';
		end;
	end;
	Select(Null,Null,Null);
end
39:
How can I add check-buttons to items, without showing the check-box (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Check 1',Null,Null) do
				begin
					Check := True;
					Checked := True;
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
				end;
				with Add('Check 2',Null,Null) do
				begin
					Check := True;
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
				end;
				with Add('Check 3',Null,Null) do
				begin
					Check := True;
					Checked := True;
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
38:
How can I add check-buttons to items, without showing the check-box (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := '[group=0x3](Check 1[chk=1][show=1],Check 2[chk=0][show=1],Check 3[chk=1][show=1])';
	Select(Null,Null,Null);
end
37:
How can I add radio buttons to items, without showing the radio-buttons (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Radio 1',Null,OleVariant(1000)) do
				begin
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
					Radio := True;
					RadioGroup := 100;
				end;
				with Add('Radio 2',Null,OleVariant(1001)) do
				begin
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
					Radio := True;
					RadioGroup := 100;
				end;
				with Add('Radio 2',Null,OleVariant(1003)) do
				begin
					ShowCheckedAsSelected := EXCONTEXTMENULib_TLB.exDisplayItemHighlight;
					Radio := True;
					RadioGroup := 100;
				end;
				item[OleVariant(1000)].Checked := True;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
36:
How can I add radio buttons to items, without showing the radio-buttons (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := '[group=0x3](Radio 1[rad=1][show=1][grp=100][id=1000],Radio 2[rad=0][show=1][grp=100][id=1001],Radio 2[rad=0][show=1][grp=100][id' + 
	'=1002])';
	Select(Null,Null,Null);
end
35:
How can I add check-buttons to items (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Check 1',Null,Null) do
				begin
					Check := True;
					Checked := True;
				end;
				Add('Check 2',Null,Null).Check := True;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
34:
How can I add check-buttons to items (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := '[group=0x3](Check 1[chk=1],Check 2[chk=0])';
	Select(Null,Null,Null);
end
33:
How can I add radio buttons to items (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
			with Items do
			begin
				with Add('Radio 1',Null,OleVariant(1000)) do
				begin
					Radio := True;
					RadioGroup := 100;
				end;
				with Add('Radio 2',Null,OleVariant(1001)) do
				begin
					Radio := True;
					RadioGroup := 100;
				end;
				with Add('Radio 2',Null,OleVariant(1003)) do
				begin
					Radio := True;
					RadioGroup := 100;
				end;
				item[OleVariant(1000)].Checked := True;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
32:
How can I add radio buttons to items (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	ToString := '[group=0x1](Radio 1[rad=1][grp=100][id=1000],Radio 2[rad=0][grp=100][id=1001],Radio 2[rad=0][grp=100][id=1002])';
	Select(Null,Null,Null);
end
31:
How can I change the selection/highlighting color

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	SelBackColor := RGB(0,0,0);
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := $80;
	Background[EXCONTEXTMENULib_TLB.exMenuHotForeColor] := $ffffff;
	ToString := '[group=3](Item 1[chk],Item 2[chk])';
	Select(Null,Null,Null);
end
30:
How can I prevent showing/hide the border on the selected/highlighted item

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := SelBackColor;
	ToString := 'Item 1,Item 2';
	Select(Null,Null,Null);
end
29:
How can I display a tab into the context menu (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Background[EXCONTEXTMENULib_TLB.exMenuSelBorderColor] := $f0f0f0;
	ToString := '[id=10][group=0x0103][itemspad=4,4,4,4]([id=20][group=0x03]([id=30][pad=8,0,0,0],Page<off -5><font ;5><b>1</b></font></off>[id=4' + 
	'0][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16]' + 
	'[group=0x03][tab=9000][pad=2,0,2,0]([id=50][group=0x03](add here fields for page 1[dis])),Page<off -5><font ;5><b>2</b></font></' + 
	'off>[id=120][typ=2][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=' + 
	'16][group=0x03][tab=9000][pad=2,0,2,0]([id=130][group=0x03](add here fields for page 2[dis])),[id=180][pad=8,0,0,0]),[id=190][bg' + 
	'=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=9000]))';
	Select(Null,Null,Null);
end
28:
How do I prevent highlighting the item (method 2.b)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('No highlight',Null,Null).Enabled := False;
		Add('Item 2',Null,Null);
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
27:
How do I prevent highlighting the item (method 2.a)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('No highlight',OleVariant(2),Null) do
		begin
			Items.Add('',Null,Null);
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
		Add('Item 2',Null,Null);
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
26:
How do I prevent highlighting the item (method 1.b)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := 'No highlight[dis],Item 2,Item 3';
	Select(Null,Null,Null);
end
25:
How do I prevent highlighting the item (method 1.a)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := 'No highlight[group=0x3][arrow=0]([]),Item 2,Item 3';
	Select(Null,Null,Null);
end
24:
How can I can I assign pictures or images for the item (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	HTMLPicture['pic1'] := 'c:\exontrol\images\zipdisk.gif';
	HTMLPicture['pic2'] := 'c:\exontrol\images\auction.gif';
	with Items do
	begin
		Add('Item',Null,Null).HTMLImage := 'pic1';
		Add('Item',Null,Null).HTMLImage := 'pic2';
		Add('',OleVariant(1),Null);
		Add('Item <img>pic1</img>',Null,Null);
		Add('Item <img>pic2</img>',Null,Null);
		Add('',OleVariant(1),Null);
		Add('<img>pic1</img> Item <img>pic2</img>',Null,Null);
	end;
	Select(Null,Null,Null);
end
23:
How can I can I assign pictures or images for the item (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	HTMLPicture['pic1'] := 'c:\exontrol\images\zipdisk.gif';
	HTMLPicture['pic2'] := 'c:\exontrol\images\auction.gif';
	ToString := 'Item[himg=pic1],Item[himg=pic2],[sep],Item <img>pic1</img>,Item <img>pic2</img>,[sep],<img>pic1</img> Item <img>pic2</img>';
	Select(Null,Null,Null);
end
22:
How can I can I assign icons for the item (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	with Items do
	begin
		Add('Item',Null,Null).Image := 1;
		Add('Item',Null,Null).Image := 2;
		Add('',OleVariant(1),Null);
		Add('Item <img>1</img>',Null,Null);
		Add('Item <img>2</img>',Null,Null);
		Add('',OleVariant(1),Null);
		Add('Item <img>1</img>',Null,Null).Image := 1;
	end;
	Select(Null,Null,Null);
end
21:
How can I can I assign icons for the item (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	Items.ToString := 'Item[img=1],Item[img=2],[sep],Item <img>1</img>,Item <img>2</img>,[sep],Item <img>1</img>[img=1]';
	Select(Null,Null,Null);
end
20:
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		Padding := '2,2,2,2';
		BackColor := $1000000;
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null);
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
19:
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Items.ToString := '[itemsbg=0x1000000][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)';
	Select(Null,Null,Null);
end
18:
How can I change the background color for a collection of items/group (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Padding := '2,2,2,2';
		BackColor := $ff;
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null);
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
17:
How can I change the background color for a collection of items/group (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := '[itemsbg=RGB(255,0,0)][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)';
	Select(Null,Null,Null);
end
16:
How can I change the visual appearance / background color (EBN) for a specified item (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	with Items do
	begin
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null).BackColor := $1000000;
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
15:
How can I change the visual appearance / background color (EBN) for a specified item (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	Items.ToString := 'Item 1,Item 2[bg=0x1000000],Item 3';
	Select(Null,Null,Null);
end
14:
How can I change the background color for a specified item (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null).BackColor := $ff;
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
13:
How can I change the background color for a specified item (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := 'Item 1,Item 2[bg=RGB(255,0,0)],Item 3';
	Select(Null,Null,Null);
end
12:
How do I add a popup or a sub-menu so it show when cursor hovers it (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('Popup',OleVariant(2),Null).Items do
		begin
			Add('Item 1',Null,Null);
			Add('Item 2',Null,Null);
			Add('Item 3',Null,Null);
		end;
	end;
	Select(Null,Null,Null);
end
11:
How do I add a popup or a sub-menu so it show when cursor hovers it (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := 'Popup(Item 1,Item 2,Item 3)';
	Select(Null,Null,Null);
end
10:
How can I arrange the items by grouping (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
			with Items do
			begin
				with Add('Horizontal',OleVariant(2),Null) do
				begin
					GroupPopup := EXCONTEXTMENULib_TLB.exGroupPopup;
					with Items do
					begin
						Add('Sub-Item <b>A</b>',Null,Null);
						Add('Sub-Item <b>B</b>',Null,Null);
						Add('Sub-Item <b>C</b>',Null,Null);
					end;
				end;
				Add('',Null,Null).CaptionWidth := 16;
				with Add('Vertical',OleVariant(2),Null) do
				begin
					Alignment := EXCONTEXTMENULib_TLB.exCenter;
					GroupPopup := Integer(EXCONTEXTMENULib_TLB.exGroupPopupVertical) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
					with Items do
					begin
						Add('Sub-Item <b>A</b>',Null,Null);
						Add('Sub-Item <b>B</b>',Null,Null);
						Add('Sub-Item <b>C</b>',Null,Null);
					end;
				end;
				Add('',Null,Null).CaptionWidth := 16;
				with Add('Popup',OleVariant(2),Null) do
				begin
					with Items do
					begin
						Add('Sub-Item <b>A</b>',Null,Null);
						Add('Sub-Item <b>B</b>',Null,Null);
						Add('Sub-Item <b>C</b>',Null,Null);
					end;
				end;
			end;
		end;
	end;
	Select(Null,Null,Null);
end
9:
How can I arrange the items by grouping (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := '[group=0x03](Horizontal[group=0x01](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Vertical[group=0x01' + 
	'01][align=1](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Popup(Sub-Item <b>A</b>,Sub-Item <b>B</b>,' + 
	'Sub-Item <b>C</b>),[captionwidth=160])';
	Select(Null,Null,Null);
end
8:
How can I arrange some items vertically, and some horizontally (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			with Items do
			begin
				Add('1',Null,Null);
				Add('2',Null,Null);
				Add('3',Null,Null);
			end;
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
		with Add('',OleVariant(2),Null) do
		begin
			with Items do
			begin
				Add('4',Null,Null);
				Add('5',Null,Null);
				Add('6',Null,Null);
			end;
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
		with Add('',OleVariant(2),Null) do
		begin
			with Items do
			begin
				Add('7',Null,Null);
				Add('8',Null,Null);
				Add('9',Null,Null);
			end;
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
	end;
	Select(Null,Null,Null);
end
7:
How can I arrange some items vertically, and some horizontally (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := '[group=3](1,2,3),[group=3](4,5,6),[group=3](7,8,9)';
	Select(Null,Null,Null);
end
6:
How can I assign multiple-lines to an item (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			with Items do
			begin
				Add('Item 1',Null,Null).Caption := 'Item <br><c><b>1';
				Add('Item 2',Null,Null).Caption := 'Item <br><c><b>2';
				Add('Item 3',Null,Null).Caption := 'Item <br><c><b>3';
			end;
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
	end;
	Select(Null,Null,Null);
end
5:
How can I assign multiple-lines to an item (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := '[group=3](Item <br><c><b>1,Item <br><c><b>2,Item <br><c><b>3)';
	Select(Null,Null,Null);
end
4:
How can I add new items arranged horizontally to the context menu (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		with Add('',OleVariant(2),Null) do
		begin
			with Items do
			begin
				Add('Item 1',Null,Null);
				Add('Item 2',Null,Null);
				Add('Item 3',Null,Null);
			end;
			GroupPopup := Integer(EXCONTEXTMENULib_TLB.exNoGroupPopupFrame) Or Integer(EXCONTEXTMENULib_TLB.exGroupPopup);
		end;
	end;
	Select(Null,Null,Null);
end
3:
How can I add new items arranged horizontally to the context menu (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := '[group=3](Item 1,Item 2,Item 3)';
	Select(Null,Null,Null);
end
2:
How can I add new items to the context menu (method 2)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	with Items do
	begin
		Add('Item 1',Null,Null);
		Add('Item 2',Null,Null);
		Add('Item 3',Null,Null);
	end;
	Select(Null,Null,Null);
end
1:
How can I add new items to the context menu (method 1)

ExContextMenu1 := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ContextMenu.1'))) as EXCONTEXTMENULib_TLB.ExContextMenu);
with ExContextMenu1 do
begin
	Items.ToString := 'Item 1,Item 2,Item 3';
	Select(Null,Null,Null);
end