101:
How can I use the BackgroundExt property

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,oPanel1,oPanel2
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Format := "1,2,3"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:BackgroundExt := "bottom[10,pattern=6,back=RGB(255,0,0),text=`<font ;6><img>alert</img><b>Alert!`,align=0x11]"
		oPanel1 := oStatusBar:Panel(2)
			oPanel1:Text := "Panel 2"
			oPanel1:BackgroundExt := "bottom[20,back=RGB(128,0,0),text=`<fgcolor FFFFFF><img>alert</img><b>Alert!`,align=0x11]"
		oPanel2 := oStatusBar:Panel(3)
			oPanel2:Text := "Panel 3"
			oPanel2:BackgroundExt := "bottom[30,back=RGB(64,0,0),text=`<font ;12><fgcolor FFFFFF><img>alert</img><b>Alert!`,align=0x11]"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
100:
How do I access the properties and the methods of an inner ActiveX control to a panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oCalendar
	LOCAL oPanel,oPanel1
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(4,"c:\exontrol\images\border.ebn")
			oAppearance:Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(1)
			oPanel:ControlID := "MSCAL.Calendar"
			oCalendar := oPanel:Object()
				oCalendar:MonthLength := 0
				oCalendar:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oPanel1 := oStatusBar:Panel(5)
			oPanel1:Text := "<fgcolor=FFFFFF><img>1</img>75%</fgcolor>"
			oPanel1:Alignment := 16/*exAlignMiddleLeft*/
			oPanel1:Percent := 75
			oPanel1:Transparency := 35
			oPanel1:Offset := "4 2 -4 -2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
99:
How do I insert an ActiveX control to a panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(4,"c:\exontrol\images\border.ebn")
			oAppearance:Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oStatusBar:Panel(1):ControlID := "MSChart20Lib.MSChart"
		oStatusBar:Panel(2):ControlID := "MSCAL.Calendar"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "<fgcolor=FFFFFF><img>1</img>75%</fgcolor>"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
			oPanel:Percent := 75
			oPanel:Transparency := 35
			oPanel:Offset := "4 2 -4 -2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
98:
How can I show the percent value over the progress bar using a semi-transparent color

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(4,"c:\exontrol\images\border.ebn")
			oAppearance:Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "<fgcolor=FFFFFF><img>1</img>75%</fgcolor>"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
			oPanel:Percent := 75
			oPanel:Transparency := 35
			oPanel:Offset := "4 2 -4 -2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
97:
How can I control the padding of the percent/progressbar control

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(4,"c:\exontrol\images\border.ebn")
			oAppearance:Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "15%"
			oPanel:Percent := 15
			oPanel:OffsetPercent := "6 6 -6 -6"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
96:
Can I change the visual appearance of the percent or a progress-bar inside the panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(1,"c:\exontrol\images\normal.ebn")
			oAppearance:Add(4,"c:\exontrol\images\border.ebn")
			oAppearance:Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
			oPanel:Text := "15%"
			oPanel:Percent := 15
			oPanel:SetProperty("BackColorPercent",0x1000000)
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
95:
Can I change the visual appearance of the percent or a progress-bar inside the panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAEGg8GhiAADACAxRDAMgBQKAAzQFAYbhrBaERhGIYYJhUAIIRZGMIjFDcEwxDSMQJjaCRQh+JYkR6MQCSBJkMw5AaXYrlWJoMjKA4nTbKMjRfKcWRjGKeJ5kOaZIhuJgCUJLM70HRMExqGQaRJpeoZVDUMJSQjVVYUbDVFwHIKkZzoWhJQiKXIuRzXdKzLYVSABA6xbLiWrpWqebQAThbdD3FC1aTBISpaztepKZpeVaGXxcdo3LTlbzzOC3MRva7MOjqJJIYjMGJ3fLuA49QrBKymWJcYwyGgIQiBdKaK7+WgBVp/YqjeL9IgMUBpGKdBynlzGHzeQiQRK8BDIbQSFCEdpADSrKBiFioZjXGwbBaXJ4ujOdY2D2Do3FeOZbmmdx6HAECAg==")
			oAppearance:Add(4,"c:\exontrol\images\border.ebn")
			oAppearance:Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "<fgcolor=FFFFFF><img>1</img>75%</fgcolor>"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
			oPanel:Percent := 75
			oPanel:Transparency := 35
			oPanel:Offset := "4 2 -4 -2"
			oPanel:SetProperty("BackColorPercent",0x1000000)
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
94:
How can I change the color of the percent or a progress-bar inside the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "15%"
			oPanel:Percent := 15
			oPanel:SetProperty("BackColorPercent",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
93:
How can I display a percent or a progress-bar inside the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(24;5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "15%"
			oPanel:Percent := 15
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
92:
Is there any property to get the width/height of the panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,oPanel1
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := Transform(oPanel:Width(),"")
		oPanel1 := oStatusBar:Panel(6)
			oPanel1:Text := Transform(oPanel1:Height(),"")
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
91:
How can I disable a panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(5/6)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "Disabled"
			oPanel:Enabled := .F.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
90:
How can I assign an extra data to my panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(5/6/7/8)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "UserData"
			oPanel:UserData := "this is just some extra data associated to the panel"
			oPanel:ToolTipText := Transform(oPanel:UserData(),"")
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
89:
Is there any option to draw myself the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2,(5/6/7/8)"
		oPanel := oStatusBar:Panel(5)
			oPanel:Text := "OwnerDraw"
			oPanel:OwnerDraw := .T.
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
88:
How can I assign a tooltip to a panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,oPanel1,oPanel2
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:ToolTipWidth := 364
		oStatusBar:Format := "1/2/3"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oPanel1 := oStatusBar:Panel(2)
			oPanel1:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel1:ToolTipText := oPanel1:Text()
			oPanel1:ToolTipTitle := "Title"
			oPanel1:Alignment := 16/*exAlignMiddleLeft*/
		oPanel2 := oStatusBar:Panel(3)
			oPanel2:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel2:ToolTipText := oPanel2:Text()
			oPanel2:ToolTipTitle := "Title"
			oPanel2:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
87:
How can I assign an icon/image to a panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(1):Image := 1
		oStatusBar:Panel(6):Image := 2
		oStatusBar:Panel(8):Image := 3
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
86:
How can I get the index of the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Appearance := 0/*None2*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
85:
How can I get the index of the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Appearance := 0/*None2*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(1):Text := Transform(oStatusBar:Panel(1):Index(),"")
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
84:
How can I change the panel's visual appearance using EBN files

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Appearance := 0/*None2*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
83:
How can I change the panel's visual appearance using EBN files

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel,oPanel1
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(3,"c:\exontrol\images\normal.ebn")
			oAppearance:Add(4,"c:\exontrol\images\pushed.ebn")
			oAppearance:Add(1,"CP:3 2 2 -2 -2")
			oAppearance:Add(2,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:SetProperty("BackColor",0x1000000)
		oPanel1 := oStatusBar:Panel(2)
			oPanel1:Text := "Panel 2"
			oPanel1:SetProperty("BackColor",0x2000000)
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
82:
How can I change the panel's visual appearance using EBN files

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,oPanel1
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oStatusBar:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "" + CHR(34) + "" + CHR(34) + ":4,((4;" + CHR(34) + "" + CHR(34) + "/1/4;" + CHR(34) + "" + CHR(34) + ")," + CHR(34) + "" + CHR(34) + ":4,(4;" + CHR(34) + "" + CHR(34) + "/2/4;" + CHR(34) + "" + CHR(34) + "))," + CHR(34) + "" + CHR(34) + ":4"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:SetProperty("BackColor",0x1000000)
		oPanel1 := oStatusBar:Panel(2)
			oPanel1:Text := "Panel 2"
			oPanel1:SetProperty("BackColor",0x2000000)
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
81:
How can I change the panel's background color

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,oPanel1
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Format := "" + CHR(34) + "" + CHR(34) + ":4,((4;" + CHR(34) + "" + CHR(34) + "/1/4;" + CHR(34) + "" + CHR(34) + ")," + CHR(34) + "" + CHR(34) + ":4,(4;" + CHR(34) + "" + CHR(34) + "/2/4;" + CHR(34) + "" + CHR(34) + "))," + CHR(34) + "" + CHR(34) + ":4"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,0 } )  , .F. ))
		oPanel1 := oStatusBar:Panel(2)
			oPanel1:Text := "Panel 2"
			oPanel1:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,255 } )  , .F. ))
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
80:
How can I change the caption's foreground color

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,var_Panel
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1:48/2"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,0 } )  , .F. ))
		var_Panel := oStatusBar:Panel(2)
			var_Panel:Text := "Panel 2"
			var_Panel:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,255 } )  , .F. ))
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
79:
How can I show in strikeout the caption in the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:StrikeOut := .T.
		oStatusBar:Panel(2):Text := "<s>Panel</s> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
78:
How can I underline the caption in the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:Underline := .T.
		oStatusBar:Panel(2):Text := "<u>Panel</u> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
77:
How can I show in italic a specified panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:Italic := .T.
		oStatusBar:Panel(2):Text := "<i>Panel</i> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
76:
How can I show in bold a specified panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Panel 1"
			oPanel:Bold := .T.
		oStatusBar:Panel(2):Text := "<b>Panel</b> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
75:
How do I control the padding on the left, top or other sides

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2/(3,4)"
		oPanel := oStatusBar:Panel(3)
			oPanel:Text := "Arrange the panels as you want using CRD strings"
			oPanel:Alignment := 0/*exAlignTopLeft*/
			oPanel:ToolTipText := oPanel:Text()
			oPanel:Offset := "10 10 -10 -10"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
74:
How can I display the panel using a single line

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2/(3,4)"
		oPanel := oStatusBar:Panel(3)
			oPanel:Text := "Arrange the panels as you want using CRD strings"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:WordWrap := .F.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
73:
How can I align the text inside the panel

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel,oPanel1,oPanel2,oPanel3,oPanel4,oPanel5,oPanel6,oPanel7,oPanel8
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "(0/16/32),(1/17/33),(2/18/34)"
		oPanel := oStatusBar:Panel(0)
			oPanel:Text := "exAlignTopLeft"
			oPanel:Alignment := 0/*exAlignTopLeft*/
		oPanel1 := oStatusBar:Panel(1)
			oPanel1:Text := "exAlignTopCenter"
			oPanel1:Alignment := 1/*exAlignTopCenter*/
		oPanel2 := oStatusBar:Panel(2)
			oPanel2:Text := "exAlignTopRight"
			oPanel2:Alignment := 2/*exAlignTopRight*/
		oPanel3 := oStatusBar:Panel(16)
			oPanel3:Text := "exAlignMiddleLeft"
			oPanel3:Alignment := 16/*exAlignMiddleLeft*/
		oPanel4 := oStatusBar:Panel(17)
			oPanel4:Text := "exAlignMiddleCenter"
			oPanel4:Alignment := 17/*exAlignMiddleCenter*/
		oPanel5 := oStatusBar:Panel(18)
			oPanel5:Text := "exAlignMiddleRight"
			oPanel5:Alignment := 18/*exAlignMiddleRight*/
		oPanel6 := oStatusBar:Panel(32)
			oPanel6:Text := "exAlignBottomLeft"
			oPanel6:Alignment := 32/*exAlignBottomLeft*/
		oPanel7 := oStatusBar:Panel(33)
			oPanel7:Text := "exAlignBottomCenter"
			oPanel7:Alignment := 33/*exAlignBottomCenter*/
		oPanel8 := oStatusBar:Panel(34)
			oPanel8:Text := "exAlignBottomRight"
			oPanel8:Alignment := 34/*exAlignBottomRight*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
72:
How can I display the <b> in the panel's caption

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1"
		oStatusBar:Panel(1):Text := "<b>Bold</b>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
71:
How can I insert anchors or hyperlinks

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "Link <a1>1</a>"
		oStatusBar:Panel(2):Text := "<a2>Link 2</a>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
70:
How can I change the font for a panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<font Tahoma>Panel 1</font>"
		oStatusBar:Panel(2):Text := "<font System>Panel 2</font>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
69:
Is there any option to display the text using different fonts

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "Panel <font Tahoma;20>1</font>"
		oStatusBar:Panel(2):Text := "Panel <font Tahoma;16>2</font>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
68:
Is there any option to insert custom size pictures in the text

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oStatusBar:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "Panel 1<img>pic1</img>"
		oStatusBar:Panel(2):Text := "Panel <img>pic2</img> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
67:
Is there any option to insert icons in the text

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "Panel 1<img>1</img>"
		oStatusBar:Panel(2):Text := "<img>2</img>Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
66:
How do I show the panel's caption using multiple lines

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "Panel 1<br>Line 1<br>Line2"
		oStatusBar:Panel(2):Text := "<bgcolor=FFFF00>Panel</bgcolor> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
65:
How do I show a portion of the text using a different background color

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<bgcolor=FF0000>Panel</bgcolor> 1"
		oStatusBar:Panel(2):Text := "<bgcolor=FFFF00>Panel</bgcolor> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
64:
How do I show a portion of the text in a different color

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<fgcolor=FF0000>Panel</fgcolor> 1"
		oStatusBar:Panel(2):Text := "<fgcolor=FFFF00>Panel</fgcolor> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
63:
How do I show a portion of the text as italic in the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<i>Panel</i> 1"
		oStatusBar:Panel(2):Text := "<i>Panel</i> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
62:
How do I show a portion of the text as strikeout in the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<s>Panel</s> 1"
		oStatusBar:Panel(2):Text := "<s>Panel</s> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
61:
How do I underline a portion of the text in the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<u>Panel</u> 1"
		oStatusBar:Panel(2):Text := "<u>Panel</u> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
60:
How do I bold a portion of the text in the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "<b>Panel</b> 1"
		oStatusBar:Panel(2):Text := "<b>Panel</b> 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
59:
How do I assign a caption or a text to a panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Format := "1/2"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
58:
How do I access properties and methods of the panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1010/2020"
		oPanel := oStatusBar:Panel(1010)
			oPanel:Text := "Panel 1"
			oPanel:Bold := .T.
		oStatusBar:Panel(2020):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
57:
How do I clear the panels

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1/2/48;(3,4:48)"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:Panel(3):Text := "Panel 3"
		oStatusBar:Panel(4):Text := "Panel 4"
		oStatusBar:ClearPanels()
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
56:
How can I add or arrange the panels in the status bar control

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAppearance
	LOCAL oPanel,oPanel1
	LOCAL oStatusBar

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Format := "" + CHR(34) + "<a1>link</a>" + CHR(34) + "[a=17]:64,11:64,((24;21/" + CHR(34) + "Arrange the panels as you want using CRD strings" + CHR(34) + "[a=17][ww])/24;3),(33/44):48"
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oAppearance := oStatusBar:VisualAppearance()
			oAppearance:Add(1,"c:\exontrol\images\border.ebn")
			oAppearance:Add(2,"c:\exontrol\images\border.ebn")
			oAppearance:Add(3,"CP:2 1 1 -1 -1")
		oStatusBar:Appearance := 0/*None2*/
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:SetProperty("BackColorPanels",0x3000000)
		oStatusBar:Panel(11):Text := "Panel <b>1</b>"
		oPanel := oStatusBar:Panel(3)
			oPanel:Transparency := 50
			oPanel:Text := "<img>1</img>75%"
			oPanel:Percent := 75
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
			oPanel:Offset := "4 4 -4 -4"
			oPanel:OffsetPercent := oPanel:Offset()
			oPanel:SetProperty("BackColorPercent",0x1000000)
		oStatusBar:Panel(21):Image := 1
		oPanel1 := oStatusBar:Panel(33)
			oPanel1:Text := "Panel 3"
			oPanel1:Bold := .T.
			oPanel1:Enabled := .F.
		oStatusBar:Panel(44):Text := "Panel 4"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
55:
How can I add three panels aligned from top to bottom, and the last divided in two panels

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1/2/48;(3,4:48)"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:Panel(3):Text := "Panel 3"
		oStatusBar:Panel(4):Text := "Panel 4"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
54:
How can I add three panels aligned from top to bottom

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1/2/3"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:Panel(3):Text := "Panel 3"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
53:
How can I add two panels to the status bar control, first aligned to the left, the second aligned to the right, and in the middle some text

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("BackColor",0x8000000f)
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1:64," + CHR(34) + "<img>1</img> just text and so on ..." + CHR(34) + "[a=17],2:96"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
52:
How can I add two panels to the status bar control, first aligned to the left, the second aligned to the right

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1:64," + CHR(34) + "" + CHR(34) + ",2:96"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
51:
How can I add two panels to the status bar control, so the first has a specified width

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1:64,2"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
50:
How can I add two panels to the status bar control, so the second has a specified width

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2:64"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
49:
How can I add two panels to the status bar control

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
48:
How do I add one panel to the status bar control

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
47:
How do I arrange the panels in the status bar

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\hot.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "" + CHR(34) + "<a1>link</a>" + CHR(34) + "[a=17]:64,11:64,((24;21/" + CHR(34) + "Arrange the panels as you want using CRD strings" + CHR(34) + "[a=17][ww])/24;3),(33/44):48"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
46:
How do I arrange the panels in the status bar

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\pushed.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2:32,(3/4/5)"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
45:
How do I arrange the panels in the status bar

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\normal.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,(3/4/5)"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
44:
How do I get the panel from the cursor
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		p := oStatusBar:PanelFromPoint(-1,-1)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
43:
How do I draw a border for all panels

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\normal.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,(3/4/5)"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
42:
How do I draw a border for all panels

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 2 2 -2 -2")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Debug := .T.
		oStatusBar:Format := "(0/1:32),2,(3/4/5)"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
41:
Is there any option to display the identifiers of the panels

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Debug := .T.
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3"
		oStatusBar:Panel(1):Text := "Panel 1"
		oStatusBar:Panel(2):Text := "Panel 2"
		oStatusBar:Panel(3):Text := "Panel 3"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
40:
Can I get the anchor from the point so I can display a tooltip
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3"
		oStatusBar:Panel(1):Text := "<a1>link 1</a>"
		oStatusBar:Panel(2):Text := "<a2>link 2</a>"
		oStatusBar:Panel(3):Text := "<a3>link 3</a>"
		oStatusBar:ShowToolTip(oStatusBar:AnchorFromPoint(-1,-1))
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
39:
Can I change the visual effect, appearance for the anchor, hyperlink elements, in HTML captions, after the user clicks it

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("FormatAnchor",.F.,"<b><u><fgcolor=880000> </fgcolor></u></b>")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3"
		oStatusBar:Panel(1):Text := "<a1>link 1</a>"
		oStatusBar:Panel(2):Text := "<a2>link 2</a>"
		oStatusBar:Panel(3):Text := "<a3>link 3</a>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
38:
Can I change the visual effect, appearance for the anchor, hyperlink elements, in HTML captions

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("FormatAnchor",.T.,"<b><u><fgcolor=FF0000> </fgcolor></u></b>")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3"
		oStatusBar:Panel(1):Text := "<a1>link 1</a>"
		oStatusBar:Panel(2):Text := "<a2>link 2</a>"
		oStatusBar:Panel(3):Text := "<a3>link 3</a>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
37:
Can I displays a custom size picture to panels

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oStatusBar:Format := "1,2,3,4"
		oStatusBar:Panel(1):Text := "<img>pic1</img>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
36:
How can I show the tooltip programatically
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:ShowToolTip("This is a bit of text that should appear when ShowToolTip method is called.")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
35:
I've seen that the width of the tooltip is variable. Can I make it larger

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:ToolTipWidth := 426
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
34:
How do I call your x-script language

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:Debug := .T.
		oStatusBar:Format := "1"
		oStatusBar:ExecuteTemplate("Panel(1)"):Text := "this is called through ExecuteTemplate property"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
33:
How do I call your x-script language

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:Template := "BackColor = RGB(255,0,0)"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
32:
How can I disable the control

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Enabled := .F.
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(1):Image := 1
		oStatusBar:Panel(2):Text := "<img>1:4</img><img>1:4</img><img>1:4</img><img>1</img> icons"
		oPanel := oStatusBar:Panel(3)
			oPanel:Text := "<img>2</img>"
			oPanel:Alignment := 18/*exAlignMiddleRight*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
31:
How do I let the tooltip being displayed longer

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:ToolTipPopDelay := 10000
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
30:
Can I change the background color for the tooltip

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oStatusBar:SetProperty("Background",64/*exToolTipAppearance*/,0x1000000)
		oStatusBar:SetProperty("Background",65/*exToolTipBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 246,245,240 } )  , .F. ))
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
29:
Can I change the background color for the tooltip

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:SetProperty("Background",65/*exToolTipBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Drag the cursor hover so the tooltip shows up"
			oPanel:ToolTipText := "<font Tahoma;11>T</font>his is an HTML <b>tooltip</b> assigned to a panel"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
28:
Does the tooltip support HTML format

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "Drag the cursor hover so the tooltip shows up"
			oPanel:ToolTipText := "<font Tahoma;11>T</font>his is an HTML <b>tooltip</b> assigned to a <fgcolor=FF0000>panel</fgcolor>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
27:
Can I change the forecolor for the tooltip

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:SetProperty("Background",66/*exToolTipForeColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26:
Can I change the foreground color for the tooltip

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel
	LOCAL oStatusBar
	LOCAL oStdFont

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStdFont := oStatusBar:ToolTipFont()
			oStdFont:Name := "Tahoma"
			oStdFont:Size := 14
		oStatusBar:ToolTipWidth := 364
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "this is a tooltip assigned to a panel"
			oPanel:ToolTipText := "<fgcolor=FF0000>this is a tooltip assigned to a panel</fgcolor>"
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25:
Can I change the font for the tooltip

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPanel
	LOCAL oStatusBar
	LOCAL oStdFont

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStdFont := oStatusBar:ToolTipFont()
			oStdFont:Name := "Tahoma"
			oStdFont:Size := 14
		oStatusBar:ToolTipWidth := 364
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24:
How do I disable showing the tooltip for all control
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 0
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23:
How do I show the tooltip quicker

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:ToolTipWidth := 364
		oStatusBar:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oStatusBar:SetProperty("Background",64/*exToolTipAppearance*/,0x1000000)
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22:
Can I change the default border of the tooltip, using your EBN files

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:ToolTipDelay := 1
		oStatusBar:ToolTipWidth := 364
		oStatusBar:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oStatusBar:SetProperty("Background",64/*exToolTipAppearance*/,0x1000000)
		oStatusBar:Format := "1"
		oPanel := oStatusBar:Panel(1)
			oPanel:Text := "This is a bit of text that should occurs when the cursor hovers the panel"
			oPanel:ToolTipText := oPanel:Text()
			oPanel:ToolTipTitle := "Title"
			oPanel:Alignment := 16/*exAlignMiddleLeft*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21:
How do I retrieve the handle of the window
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:Format := Transform(oStatusBar:hWnd(),"")
		oStatusBar:ClearPanels()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20:
How can I prevent the control from painting when multiple changes occurs
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(1):Image := 1
		oStatusBar:Panel(2):Text := "<img>1:4</img><img>1:4</img><img>1:4</img><img>1</img> icons"
		oPanel := oStatusBar:Panel(3)
			oPanel:Text := "<img>2</img>"
			oPanel:Alignment := 18/*exAlignMiddleRight*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19:
How can I insert an icon aligned to the right

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oPanel := oStatusBar:Panel(2)
			oPanel:Text := "<img>2</img>"
			oPanel:Alignment := 18/*exAlignMiddleRight*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18:
How can I insert an icon to a panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(2):Text := "<img>2</img>"
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17:
How can I insert icons to status bar control

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(1):Image := 1
		oStatusBar:Panel(2):Text := "<img>1:4</img><img>1:4</img><img>1:4</img><img>1</img> icons"
		oPanel := oStatusBar:Panel(3)
			oPanel:Text := "<img>2</img>"
			oPanel:Alignment := 18/*exAlignMiddleRight*/
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16:
How can I insert an icon to a panel

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Panel(1):Image := 1
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15:
Is there any option to increase the empty space on borders of the control

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:BorderWidth := 20
		oStatusBar:BorderHeight := 20
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14:
How do I get the version of the control
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Format := oStatusBar:Version()
		oStatusBar:ClearPanels()
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13:
How do I put a picture on the center of the control

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 17/*MiddleCenter*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12:
How do I resize/stretch a picture on the control's background

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 49/*Stretch*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11:
How do I put a picture on the control's center right bottom side

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 34/*LowerRight*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10:
How do I put a picture on the control's center left bottom side

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 32/*LowerLeft*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9:
How do I put a picture on the control's center top side

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 1/*UpperCenter*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8:
How do I put a picture on the control's right top corner

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 2/*UpperRight*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7:
How do I put a picture on the control's left top corner

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:PictureDisplay := 0/*UpperLeft*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6:
How do I put a picture on the control's background

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Picture := oStatusBar:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5:
How do I change the control's foreground color

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 120,120,120 } )  , .F. ))
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4:
How do I change the control's background color

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 200,200,200 } )  , .F. ))
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3:
How do I change the control's border, using your EBN files

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oStatusBar:Appearance := 16777216/*0x1000000+*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2:
How do I remove the control's border

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:Appearance := 0/*None2*/
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		oStatusBar:Format := "1,2,3,4,(5/6/7/8)"
		oStatusBar:Debug := .T.
		oStatusBar:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1:
How can I change the control's font

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

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

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

	oStatusBar := XbpActiveXControl():new( oForm:drawingArea )
	oStatusBar:CLSID  := "Exontrol.StatusBar.1" /*{0885027A-DF96-481F-928C-E3E3788889BA}*/
	oStatusBar:create(,, {10,60},{610,370} )

		oStatusBar:BeginUpdate()
		oStatusBar:VisualAppearance():Add(4,"c:\exontrol\images\border.ebn")
		oStatusBar:VisualAppearance():Add(5,"CP:4 1 1 -1 -1")
		oStatusBar:SetProperty("BackColorPanels",0x5000000)
		f := CreateObject("StdFont")
			f:Name := "Verdana"
			f:Size := 12
		oStatusBar:Font := f
		oStatusBar:Format := "" + CHR(34) + "static text" + CHR(34) + "[fg=255][a=17],11,22,(33/44)"
		oStatusBar:EndUpdate()

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