16
ImageSize property on 32 (specifies the size of the control' icons)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:BeginUpdate()
		oToolBarCRD:ImageSize := 32
		oToolBarCRD:Font():Size := 16
		oToolBarCRD:Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9" +;
		"FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkFgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xi" +;
		"oW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" +;
		"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVW" +;
		"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:Format := "1,2,3"
		oToolBarCRD:Item(1):Caption := "<img>1</img>"
		oToolBarCRD:Item(2):Caption := "<img>2</img>"
		oToolBarCRD:Item(3):Caption := "<img>3</img>Icon"
		oToolBarCRD:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15
ImageSize property on 16 (default) (specifies the size of the control' icons)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:BeginUpdate()
		oToolBarCRD:ImageSize := 16
		oToolBarCRD:Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +;
		"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:Format := "1,2,3"
		oToolBarCRD:Item(1):Caption := "<img>1</img>"
		oToolBarCRD:Item(2):Caption := "<img>2</img>"
		oToolBarCRD:Item(3):Caption := "<img>3</img>Icon"
		oToolBarCRD:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14
How can I defines a custom border for the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:BeginUpdate()
		oToolBarCRD:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAxDTBMKgBBCLIxhEYobgmGIaRiBMIxAKIZhzEgYRoiAYhXDiHwyARHUIvfCsPxBDqBY4gOZpXhmJImShKUZybJ8RR3GaaZ5iWagAoyPJKSLCMiyPSUUw+GKVYjjej6HpCTY4RbXU7VFQFKhpK6sRxAKYoapyGpMU5YUTSfJ4DSkGAYBJFUZLWgSeJ6DRSMBvfggATXMS4LYuKbXLhCCYBgIA==")
		oToolBarCRD:Appearance := 16777216/*0x1000000+*/
		oToolBarCRD:Format := "1,2,|,3:64"
		oToolBarCRD:Item(3):Caption := "< <b>right</b> >"
		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13
Can I display items one below to other

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Format := "(1/2):64,(3/4):64"
		oToolBarCRD:Item(1):Caption := "Item <off 4><b>A"
		oToolBarCRD:Item(2):Caption := "Item <off 4><b>B"
		oToolBarCRD:Item(3):Caption := "Item <off 4><b>C"
		oToolBarCRD:Item(4):Caption := "Item <off 4><b>D"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12
How can I add a separator item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Format := "1,2,-1,3,4"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11
Is it possible to disable an item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItem
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:Format := "1,2,3"
		oToolBarCRD:Item(1):Caption := "<img>1</img>"
		oToolBarCRD:Item(2):Caption := "<img>2</img>"
		oItem := oToolBarCRD:Item(3)
			oItem:Caption := "<img>3</img>Disabled"
			oItem:Enabled := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10
Is it possible to change the item's caption/image when user hovers the cursor

PROCEDURE OnMouseIn(oToolBarCRD,ID)
	oToolBarCRD:Item(ID):Caption := "hover"
RETURN

PROCEDURE OnMouseOut(oToolBarCRD,ID)
	oToolBarCRD:Item(ID):Caption := Transform(ID,"")
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:MouseIn := {|ID| OnMouseIn(oToolBarCRD,ID)} /*Occurs when the mouse enters the part.*/
		oToolBarCRD:MouseOut := {|ID| OnMouseOut(oToolBarCRD,ID)} /*Occurs when the mouse exists the part.*/

		oToolBarCRD:Format := "1,2,3,4"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9
Does your control support tooltip for items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oItem
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Format := "(1/2),3"
		oItem := oToolBarCRD:Item(1)
			oItem:Caption := "Item <b>1"
			oItem:ToolTip := "This is a bit of text that's shown when cursor hovers the item"
		oToolBarCRD:Item(2):Caption := "Item <b>2"
		oToolBarCRD:Item(3):Caption := "Item <b>3"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8
Is it possible to add an anchor element, similar to a link into a webpage

PROCEDURE OnAnchorClick(oToolBarCRD,AnchorID,Options)
	DevOut( Transform(AnchorID,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:AnchorClick := {|AnchorID,Options| OnAnchorClick(oToolBarCRD,AnchorID,Options)} /*Occurs when an anchor element is clicked.*/

		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:Format := "" + CHR(34) + "<a a1>link</a>" + CHR(34) + ":32,1,2,3"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7
How can I change the background of the hovering item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oToolBarCRD:SetProperty("Background",155/*exToolBarButtonHotBackColor*/,0x1000000)
		oToolBarCRD:Format := "1,2,3,4"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6
Can I display an item aligned to the right

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Format := "1,2,|,3:64"
		oToolBarCRD:Item(3):Caption := "< <b>right</b> >"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5
Can I display pictures in the toolbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:SetProperty("HTMLPicture","pic1","c:\exontrol\images\card.png")
		oToolBarCRD:SetProperty("HTMLPicture","pic2","c:\exontrol\images\diary.png")
		oToolBarCRD:Format := "1,2,3"
		oToolBarCRD:Item(1):Caption := "<img>pic1:48</img>"
		oToolBarCRD:Item(2):Caption := "<img>pic2:30</img>"
		oToolBarCRD:Item(3):Caption := "<img>pic1:24</img> Picture"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4
Can I display icons in the toolbar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:Format := "1,2,3"
		oToolBarCRD:Item(1):Caption := "<img>1</img>"
		oToolBarCRD:Item(2):Caption := "<img>2</img>"
		oToolBarCRD:Item(3):Caption := "<img>3</img>Icon"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3
How can I get ride of the top-bottom lines

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Appearance := 4/*Etched*/
		oToolBarCRD:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oToolBarCRD:Format := "1,-1,2"
		oToolBarCRD:Item(1):Caption := "Exit"
		oToolBarCRD:Item(2):Caption := "Item <b>A\r\nItem <b>A#1\r\nItem <b>B#2\r\nItem <b>C#3"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2
How can I display a drop-down panel

PROCEDURE OnSelect(oToolBarCRD,ID,SelectedID)
	DevOut( "Select" )
	DevOut( Transform(SelectedID,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Select := {|ID,SelectedID| OnSelect(oToolBarCRD,ID,SelectedID)} /*Notifies once the user clicks the item.*/

		oToolBarCRD:ItemsDelimiter := ";"
		oToolBarCRD:Format := "1,-1,2"
		oToolBarCRD:Item(1):Caption := "Exit"
		oToolBarCRD:Item(2):Caption := "Item <b>A;Item <b>A#1;Item <b>B#2;Item <b>C#3"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1
How can I add / display items with the toolbar

PROCEDURE OnSelect(oToolBarCRD,ID,SelectedID)
	DevOut( "Select" )
	DevOut( oToolBarCRD:Item(ID):Caption() )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oToolBarCRD

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oToolBarCRD := XbpActiveXControl():new( oForm:drawingArea )
	oToolBarCRD:CLSID  := "Exontrol.ToolBar.CRD.1" /*{DD586AE6-F2A0-4308-8F34-8016B16F000E}*/
	oToolBarCRD:create(,, {10,60},{610,370} )

		oToolBarCRD:Select := {|ID,SelectedID| OnSelect(oToolBarCRD,ID,SelectedID)} /*Notifies once the user clicks the item.*/

		oToolBarCRD:Format := "1,-1,2,3"
		oToolBarCRD:Item(1):Caption := "Exit"
		oToolBarCRD:Item(2):Caption := "Item <b>A"
		oToolBarCRD:Item(3):Caption := "Item <b>B"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN