22
How can I play animated GIF using the control

with NETHost1 do
begin
	Create('C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll','System.Windows.Forms.Label');
	Host.Template := 'Image = LoadPicture(`C:\Program Files (x86)\Exontrol\ExNETHost\Sample\wait.gif`)';
end
21
How can I use the Template property
with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TreeView';
	Host.Template := 'Nodes { Add(`Root 1`).Nodes { Add(`Child 1`); Add(`Child 2`) }  }';
end
20
How can I use the TemplateResult property (method 2)
with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TreeView';
	with Host do
	begin
		Template := 'Nodes.Add(`Root 1`){ BackColor = RGB(255,0,0);ForeColor = RGB(255,255,255) }';
		TemplateResult.Template := 'Nodes{ Add(`Child 1`); Add(`Child 2`) }; Expand() }';
	end;
end
19
How can I use the TemplateResult property (method 1)
with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TreeView';
	with Host do
	begin
		Template := 'Nodes.Add(`Root 1`)';
		with TemplateResult do
		begin
			Template := 'Nodes.Add(`Child 1`)';
			Template := 'Nodes.Add(`Child 2`)';
			Template := 'Expand()';
		end;
	end;
end
18
How can I find the information about the hosting control, like name, version, ...
with NETHost1 do
begin
	AssemblyQualifiedName := 'System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089';
	with Host do
	begin
		OutputDebugString( Item['ProductName'].Value );
		OutputDebugString( Item['ProductVersion'].Value );
		OutputDebugString( Item['CompanyName'].Value );
	end;
end
17
How do I get the hwnd/handle of the hosting control
with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	OutputDebugString( Host.Item['Handle'].AsInt );
end
16
How do I get the number of arguments that an event has
// HostEvent event - The hosting control fires an event.
procedure TForm1.NETHost1HostEvent(ASender: TObject; Ev : INETHostEvent);
begin
	with NETHost1 do
	begin
		OutputDebugString( 'Ev.Arguments.Item("GetType().GetProperties().Length").AsString' );
			OutputDebugString( Ev );
	end
end;

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
end
15
How can I change the control's background color, as BackgroundColor seems to have no effect

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TreeView';
	with Host do
	begin
		Template := 'BackColor = RGB(240,240,240)';
		with Item['Nodes.Add(`Root`)'] do
		begin
			var_NETHostObject := Item['Nodes.Add(`Child 1`)'];
			var_NETHostObject1 := Item['Nodes.Add(`Child 2`)'];
			var_Object := (IUnknown(Item['Expand()']) as _TLB.Object);
		end;
	end;
end
14
How can I add a TreeView

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TreeView';
	with Host do
	begin
		with Item['Nodes.Add(`Root 1`)'] do
		begin
			var_NETHostObject := Item['Nodes.Add(`Child 1`)'];
			with Item['Nodes.Add(`Child 2`)'] do
			begin
				var_NETHostObject1 := Item['Nodes.Add(`Sub-Child 2.1`)'];
				var_NETHostObject2 := Item['Nodes.Add(`Sub-Child 2.2`)'];
				var_NETHostObject3 := Item['Nodes.Add(`Sub-Child 2.3`)'];
				var_Object := (IUnknown(Item['Expand()']) as _TLB.Object);
			end;
			var_NETHostObject4 := Item['Nodes.Add(`Child 3`)'];
			var_Object1 := (IUnknown(Item['Expand()']) as _TLB.Object);
		end;
		with Item['Nodes.Add(`Root 2`)'] do
		begin
			var_NETHostObject5 := Item['Nodes.Add(`Child 1`)'];
			var_NETHostObject6 := Item['Nodes.Add(`Child 2`)'];
			var_NETHostObject7 := Item['Nodes.Add(`Child 3`)'];
		end;
	end;
end
13
How can I add a ProgressBar

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.ProgressBar';
	with Host do
	begin
		SetTemplateDef('Dim percent');
		SetTemplateDef(OleVariant(50));
		Template := 'Value = percent';
	end;
end
12
How can I add a DateTimePicker

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.DateTimePicker';
	with Host do
	begin
		SetTemplateDef('Dim date');
		SetTemplateDef('1/1/2001');
		Template := 'Value = date';
	end;
end
11
How can I add CheckedListBox

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.CheckedListBox';
	with Host do
	begin
		Template := 'FormattingEnabled = True';
		Template := 'Items.Add(`Check 1`)';
		Template := 'Items.Add(`Check 2`,True)';
	end;
end
10
How can I specify the list of events to be handled
// HostEvent event - The hosting control fires an event.
procedure TForm1.NETHost1HostEvent(ASender: TObject; Ev : INETHostEvent);
begin
	with NETHost1 do
	begin
		OutputDebugString( Ev );
		OutputDebugString( 'Button ' );
		OutputDebugString( Ev );
	end
end;

with NETHost1 do
begin
	BackgroundColor := 16777215;
	HostEvents := 'MouseUp MouseDown';
	Create('C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll','System.Windows.Forms.MonthCalendar');
	Host.Template := 'MaxSelectionCount = 1';
end
9
Is it possible to handle only a specific event
// HostEvent event - The hosting control fires an event.
procedure TForm1.NETHost1HostEvent(ASender: TObject; Ev : INETHostEvent);
begin
	with NETHost1 do
	begin
		OutputDebugString( Ev );
	end
end;

with NETHost1 do
begin
	BackgroundColor := 16777215;
	Create('C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll','System.Windows.Forms.MonthCalendar');
	HostEvents := 'DateSelected';
	with Host do
	begin
		Template := 'MaxSelectionCount = 1';
	end;
end
8
How can I handle events withing the control
// HostEvent event - The hosting control fires an event.
procedure TForm1.NETHost1HostEvent(ASender: TObject; Ev : INETHostEvent);
begin
	with NETHost1 do
	begin
		OutputDebugString( Ev );
	end
end;

with NETHost1 do
begin
	BackgroundColor := 16777215;
	Create('C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll','System.Windows.Forms.MonthCalendar');
	with Host do
	begin
		Template := 'MaxSelectionCount = 1';
	end;
end
7
How can I add the Tab page, and pages inside (method 2)

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TabControl';
	with Host do
	begin
		with Item['Dim page; page = CreateObject(`System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyTo' + 
	'ken=b77a5c561934e089`){Text = `new`};Controls.Add(page);page'] do
		begin
			Template := 'Text = `Page 1`;UseVisualStyleBackColor = True';
			Template := 'Dim c; c = CreateObject(`System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77' + 
	'a5c561934e089`){Text=`Button 2`;Dock=1}; Controls.Add(c)';
			Template := 'Dim c; c = CreateObject(`System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77' + 
	'a5c561934e089`){Text=`Button 1`;Dock=1}; Controls.Add(c)';
		end;
		with Item['Dim page; page = CreateObject(`System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyTo' + 
	'ken=b77a5c561934e089`){Text = `new`};Controls.Add(page);page'] do
		begin
			Template := 'Text = `Page 1`;UseVisualStyleBackColor = True';
			Template := 'Dim c; c = CreateObject(`System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b7' + 
	'7a5c561934e089`){Text=`Edit 2`;Dock=1}; Controls.Add(c)';
			Template := 'Dim c; c = CreateObject(`System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b7' + 
	'7a5c561934e089`){Text=`Edit 1`;Dock=1}; Controls.Add(c)';
		end;
	end;
end
6
How can I add the Tab page, and pages inside (method 1)

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.TabControl';
	with Host do
	begin
		with Item['CreateObject(`System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e' + 
	'089`)'] do
		begin
			Template := 'Text = `Page 1`;UseVisualStyleBackColor = True';
		end;
		SetTemplateDef('Dim page');
		SetTemplateDef(TemplateResult.Value);
		Template := 'Controls.Add(page)';
		with Item['CreateObject(`System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e' + 
	'089`)'] do
		begin
			Template := 'Text = `Page 2`;UseVisualStyleBackColor = True';
		end;
		SetTemplateDef('Dim page');
		SetTemplateDef(TemplateResult.Value);
		Template := 'Controls.Add(page)';
	end;
end
5
Just wondering if I can host your /NET control

with NETHost1 do
begin
	AssemblyLocation := 'C:\Program Files\Exontrol\ExG2antt.NET\Sample\exontrol.exg2antt.dll';
	with Host do
	begin
		Template := 'LoadXML(`http://www.exontrol.net/testing.xml`)';
	end;
end
4
How can I insert the MonthCalendar of /NET framework

with NETHost1 do
begin
	BackgroundColor := 16777215;
	Create('C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll','System.Windows.Forms.MonthCalendar');
	with Host do
	begin
		SetTemplateDef('Dim x');
		SetTemplateDef('1/1/2001');
		Template := 'MaxSelectionCount = 1;SelectionStart = x';
	end;
end
3
How can I use the AssemblyQualifiedName property

with NETHost1 do
begin
	AssemblyQualifiedName := 'System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089';
	with Host.Item['Items'] do
	begin
		Template := 'Add(2001)';
		Template := 'Add(4.1234)';
		Template := 'Add(#1/1/2001#)';
		Template := 'Add(RGB(255,0,0))';
		Template := 'Add(1);Add(2);Add(3)';
	end;
end
2
How can I use the AssemblyLocation property

with NETHost1 do
begin
	AssemblyLocation := 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll';
	AssemblyName := 'System.Windows.Forms.ListView';
	with Host do
	begin
		Template := 'Items.Add(`first`)';
		with Item['CreateObject(`System.Windows.Forms.ListViewItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c56' + 
	'1934e089`)'] do
		begin
			Template := 'Text = `second`;ForeColor = RGB(255,0,0)';
		end;
		SetTemplateDef('Dim n');
		SetTemplateDef(TemplateResult.Value);
		Template := 'Items.Add(n)';
		Template := 'Items.Add(`third`)';
	end;
end
1
How can I insert the PropertyGrid of /NET framework

with NETHost1 do
begin
	AssemblyQualifiedName := 'System.Windows.Forms.PropertyGrid, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089';
	with Host do
	begin
		Template := 'BackColor = RGB(255,255,255);ViewBackColor = RGB(255,255,255);LineColor = ViewBackColor';
		SetTemplateDef('dim object');
		SetTemplateDef(OleVariant(NETHost1));
		Template := 'SelectedObject = object';
	end;
end