192:
Does your control supports scrolling by touching the screen

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:AutoDrag := 4112/*exAutoDragScrollOnShortTouch+exAutoDragScroll*/
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
191:
If I enabled the list filter on runtime, the user can click on [x] and close the filter text. Can I disabled this action

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowMultipleValuesOnEnum := .T.
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:FilterBarPromptVisible := 1/*exFilterBarAlwaysVisible*/
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
190:
Is it possible to specify a different background/foreground color for the property from the cursor, aka hot item

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:SetProperty("HotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,255 } )  , .F. ))
		oPropertiesList:SetProperty("HotForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oPropertiesList:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,128 } )  , .F. ))
		oPropertiesList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
189:
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Template := "Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
188:
How can I display checkboxes for flags values only

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowMultipleValuesOnEnum := .T.
		oProperty := oPropertiesList:Add("Nextevent",81,8/*EditEnum*/)
			oProperty:AddValue(1,"Option A")
			oProperty:AddValue(2,"Option B")
			oProperty:AddValue(3,"Option C")
			oProperty:AddValue(4,"Option D")
			oProperty:AddValue(16,"Flag A")
			oProperty:AddValue(32,"Flag B")
			oProperty:AddValue(64,"Flag C")
			oProperty:AddValue(128,"Flag D")
		oPropertiesList:Refresh()
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
187:
Is is possible to display a checkbox on ENUM types

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowMultipleValuesOnEnum := .T.
		oProperty := oPropertiesList:Add("Nextevent",5,8/*EditEnum*/)
			oProperty:AddValue(1,"Flag A")
			oProperty:AddValue(2,"Flag B")
			oProperty:AddValue(4,"Flag C")
			oProperty:AddValue(8,"Flag D")
			oProperty:AddValue(16,"Flag E")
		oPropertiesList:Refresh()
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
186:
Is it possible to display the full path in the EditFolder editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oProperty := oPropertiesList:Add("Folder","c:\",18/*EditFolder*/)
			oProperty:SetProperty("Option",12/*exEditFolderTitle*/,"Current Folder")
			oProperty:SetProperty("Option",15/*exEditFolderShowEditBox*/,.F.)
			oProperty:SetProperty("Option",17/*exEditFolderShowPath*/,.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
185:
How can I include a "New Folder" button so user can create new folders when using the EditFolder form

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Folder","",18/*EditFolder*/):SetProperty("Option",16/*exEditFolderAllowNewFolder*/,.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
184:
Is it possible to show always the selection in the files/folders list in the EditFolder dialog
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Folder","",18/*EditFolder*/):SetProperty("Option",14/*exEditFolderNewUI*/,.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
183:
How can I hide the editbox in the EditFolder editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Folder","",18/*EditFolder*/):SetProperty("Option",15/*exEditFolderShowEditBox*/,.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
182:
How can I include the files in the in the EditFolder editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Folder","",18/*EditFolder*/):SetProperty("Option",13/*exEditFolderIncludeFiles*/,.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
181:
Is it possible to change the caption in the EditFolder editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Folder","",18/*EditFolder*/):SetProperty("Option",12/*exEditFolderTitle*/,"Select a directory...")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
180:
Is it possible to filter for properties that contains a specified text

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:FilterBarPromptVisible := -1/*exFilterBarVisible*/
		oPropertiesList:FilterBarPrompt := "<font ;7><fgcolor=FF0000><c>Start Filtering..."
		oPropertiesList:FilterBarPromptPattern := "back"
		oPropertiesList:IncrementalSearch := 1/*exContains*/
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
179:
How can I filter the properties at runtime

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:FilterBarPromptVisible := -1/*exFilterBarVisible*/
		oPropertiesList:FilterBarPrompt := "<font ;7><fgcolor=FF0000><c>Start Filtering..."
		oPropertiesList:FilterBarPromptPattern := "Back"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
178:
Is it possible to change the caption being displayed in the filter bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:FilterBarPromptVisible := -1/*exFilterBarVisible*/
		oPropertiesList:FilterBarPrompt := "<font ;7><fgcolor=FF0000><c>Start Filtering..."
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
177:
How can I enable the filter-prompt feature

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:FilterBarPromptVisible := -1/*exFilterBarVisible*/
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
176:
How do I specify the height of the control's header bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:HeaderHeight := 36
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
175:
Is it possible to display a checkbox for ENUM types that allow BIT combinations

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowMultipleValuesOnEnum := .T.
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.T.)
		oPropertiesList:FilterBarPromptVisible := -1/*exFilterBarVisible*/
		oPropertiesList:FilterBarPromptPattern := "Inc"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
174:
Can I add different EditFile entries with different filters

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Text File","text.txt",17/*EditFile*/):SetProperty("Option",9/*exEditFileFilter*/,"Text Files (*.txt)|*.txt")
		oPropertiesList:Add("INI File","text.ini",17/*EditFile*/):SetProperty("Option",9/*exEditFileFilter*/,"INI Files (*.ini)|*.ini")
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
173:
Is it possible to expand items/entries when user types for searching properties

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:ExpandOnSearch := .T.
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
172:
Is it possible to show ticks on the slider control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Slider",50,16/*EditSlider*/)
		oProperty := oPropertiesList:Add("Slider w/h ticks",50,16/*EditSlider*/)
			oProperty:SliderStep := 10
			oProperty:SliderTickFrequency := 10
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
171:
How can I edit a number between a range or interval
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oProperty := oPropertiesList:Add("Slider",50,16/*EditSlider*/)
			oProperty:Numeric := .T.
			oProperty:SpinStep := 0
			oProperty:SliderWidth := 0
			oProperty:SliderStep := 0
			oProperty:SliderMin := 0
			oProperty:SliderMax := 100

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
170:
How can I edit a number between a range or interval
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oProperty := oPropertiesList:Add("Slider","0.5",16/*EditSlider*/)
			oProperty:NumericFloat := .T.
			oProperty:SpinStep := 0
			oProperty:SliderWidth := 0
			oProperty:SliderStep := 0
			oProperty:SliderMin := 0
			oProperty:SliderMax := 1

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
169:
How can I add a slider or track bar editor, with a fixed size

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Slider","0.5",16/*EditSlider*/):SliderWidth := 48
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
168:
How can I add a slider or track bar editor, so it covers half of the cell
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Slider","0.5",16/*EditSlider*/):SliderWidth := -50
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
167:
How can I add a slider or track bar editor, so it covers the full cell

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Slider","0.5",16/*EditSlider*/):SliderWidth := -100
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
166:
How can I add a spin editor within a range or interval of float numbers

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowSpin := .T.
		oProperty := oPropertiesList:Add("Slider","0.5",16/*EditSlider*/)
			oProperty:NumericFloat := .T.
			oProperty:SpinStep := ".01"
			oProperty:SliderWidth := 0
			oProperty:SliderMin := 0
			oProperty:SliderMax := 1
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
165:
How can I add a spin editor within a range or interval of numbers

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowSpin := .T.
		oProperty := oPropertiesList:Add("Slider",10,16/*EditSlider*/)
			oProperty:Numeric := .T.
			oProperty:SliderWidth := 0
			oProperty:SliderMin := 5
			oProperty:SliderMax := 15
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
164:
Can I use your HTML format to display a property

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oProperty,oProperty1
	LOCAL oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("SelBackColor",0x1000000)
		oPropertiesList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oPropertiesList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oPropertiesList:SetProperty("ColumnWidth",0,304)
		oProperty := oPropertiesList:Add("I1","link1",1/*Edit*/)
			oProperty:HTMLName := "<br>text<off 4>subscript</off><off -4>sup<off -4>ers</off>cript</off> icons <img>1</img>, <img>2</img>, ... pictures <img>p1</img>, <img>p2</img> <br><br>text <b>bold</b>, <i>italic</i>, <u>underline</u>, <s>strikeout</s>, ...<br><dotline>and so on...<br> <a>anchor</a> or <a2>hyperlink</a><br><fgcolor=FF0000>fgcolor</fgcolor> or <bgcolor=00FF00>bgcolor</bgcolor>"
			oProperty:Height := 128
		oProperty1 := oPropertiesList:Add("I2","link1",1/*Edit*/)
			oProperty1:HTMLName := "<sha ;;0>antialiasing</sha> format"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
163:
How can I display I picture to a property

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oProperty,oProperty1
	LOCAL oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oPropertiesList:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oProperty := oPropertiesList:Add("Picture 1","link1",1/*Edit*/)
			oProperty:HTMLName := "<img>pic1</img> <b>1</b>"
			oProperty:Height := 48
		oPropertiesList:Add("Edit","text",1/*Edit*/)
		oProperty1 := oPropertiesList:Add("Picture 2","link2",1/*Edit*/)
			oProperty1:HTMLName := "<img>pic2</img> <b>2</b>"
			oProperty1:Height := 32
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
162:
How do I display an icon to a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:DefaultItemHeight := 18
		oPropertiesList:BeginUpdate()
		oPropertiesList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oPropertiesList:Add("I1","link1",1/*Edit*/):HTMLName := "<img>1</img> <b>1</b>"
		oPropertiesList:Add("Edit","text",1/*Edit*/)
		oPropertiesList:Add("I2","link1",1/*Edit*/):HTMLName := "<img>2</img> <b>2</b>"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
161:
How do I specify the height of a property

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

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oProperty,oProperty1
	LOCAL oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oPropertiesList:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oProperty := oPropertiesList:Add("Picture 1","link1",1/*Edit*/)
			oProperty:HTMLName := "<img>pic1</img> <b>1</b>"
			oProperty:Height := 48
		oPropertiesList:Add("Edit","text",1/*Edit*/)
		oProperty1 := oPropertiesList:Add("Picture 2","link2",1/*Edit*/)
			oProperty1:HTMLName := "<img>pic2</img> <b>2</b>"
			oProperty1:Height := 48
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
160:
How do I edit a float number

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowSpin := .T.
		oProperty := oPropertiesList:Add("Edit","0.5",1/*Edit*/)
			oProperty:NumericFloat := .T.
			oProperty:SpinStep := "0.1"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
159:
How do I change the step for a spin

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowSpin := .T.
		oPropertiesList:Add("Edit",10,1/*Edit*/):SpinStep := 10
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
158:
How do I sort the items in a drop down editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oProperty := oPropertiesList:Add("Enum",1,8/*EditEnum*/)
			oProperty:DropDownItems := 1
			oProperty:AddValue(1,"First choice")
			oProperty:AddValue(2,"Second choice")
			oProperty:AddValue(3,"Third choice")
			oProperty:SortItems()
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
157:
How do I specify the number of visible items in a drop down editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oProperty := oPropertiesList:Add("Enum",1,8/*EditEnum*/)
			oProperty:DropDownItems := 1
			oProperty:AddValue(1,"First choice")
			oProperty:AddValue(2,"Second choice")
			oProperty:AddValue(3,"Third choice")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
156:
How do I bold a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):Bold := .T.
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
155:
How do I disable or enable a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):Enabled := .F.
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
154:
How do I specify a tooltip for a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Add("ToolTip","",1/*Edit*/):ToolTip := "This is a bit of text that shows up when the user hovers the cursor"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
153:
How do I specify the masking character

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oProperty := oPropertiesList:Add("Edit",12,1/*Edit*/)
			oProperty:Mask := "##"
			oProperty:MaskChar := 48
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
152:
How do I specify a mask

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit",12,1/*Edit*/):Mask := "##"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
151:
How do I edit a number

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:AllowSpin := .T.
		oPropertiesList:Add("Edit",15,1/*Edit*/):Numeric := .T.
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
150:
How do I change the foreground color for a cell

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):SetProperty("CellForeColor",0,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
149:
How do I change the foreground color for a cell

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):SetProperty("CellForeColor",1,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
148:
How do I change the background color for a cell

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):SetProperty("CellBackColor",0,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
147:
How do I change the background color for a cell

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):SetProperty("CellBackColor",1,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
146:
How do I change the background color for a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
145:
How do I change the foreground color for a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
144:
How do I associate an extra data to a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Color",255,2/*EditColor*/):UserData := "your data"
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
143:
How do I get the caption of the property, as it is displayed in the browser

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Color",255,2/*EditColor*/):ID := 12345
		oPropertiesList:Add(oPropertiesList:Property("Color"):DisplayValue(),"",-1/*Label*/):Bold := .T.
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
142:
How do I get the value of the property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):ID := 12345
		oPropertiesList:Add(oPropertiesList:Property("Edit"):Value(),"",-1/*Label*/):Bold := .T.
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
141:
How do I make a property read only
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):Locked := .T.
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
140:
How do I specify a description for a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Edit","text",1/*Edit*/):Description := "This is just a description"
		oPropertiesList:SelectedProperty := oPropertiesList:Property("Edit")
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
139:
How do I get the identifer of the property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Edit","text",1/*Edit*/):ID := 12345
		oPropertiesList:Add(oPropertiesList:Property("Edit"):ID(),"",-1/*Label*/):Bold := .T.
		oPropertiesList:Refresh()

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Edit","text",1/*Edit*/)
		oPropertiesList:Add(oPropertiesList:Property("Edit"):Type(),"",-1/*Label*/):Bold := .T.
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
137:
How do I get the name of the property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Edit","text",1/*Edit*/)
		oPropertiesList:Add(oPropertiesList:Property("Edit"):Name(),"",-1/*Label*/):Bold := .T.
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
136:
How do I select a folder

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Folder","",18/*EditFolder*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
135:
How do I select a file

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("File","",17/*EditFile*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
134:
How do I slider or trackbar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Slider",50,16/*EditSlider*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
133:
How do I add a button

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Button","Aaa",15/*EditButton*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
132:
How do I add a check box editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Check",.T.,14/*EditCheck*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
131:
How do I add a color editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Color",255,13/*EditColorPage*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
130:
How do I add a new object properties inside the control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("MySelf 1",oPropertiesList,12/*EditObject*/)
		oPropertiesList:Add("MySelf 2",oPropertiesList,12/*EditObject*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
129:
How do I add a new objects inside the control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("MySelf",oPropertiesList,12/*EditObject*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
128:
How do I add a drop down editor with some predefined values

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oProperty := oPropertiesList:Add("DropDown","Aaa",11/*EditDropDown*/)
			oProperty:AddValue(1,"First choice")
			oProperty:AddValue(2,"Second choice")
			oProperty:AddValue(3,"Third choice")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
127:
How do I add a password editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Password","pass",10/*EditPassword*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
126:
How do I add a date picker editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
125:
How do I add a drop down editor with some predefined values

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oProperty := oPropertiesList:Add("Enum",1,8/*EditEnum*/)
			oProperty:AddValue(1,"First choice")
			oProperty:AddValue(2,"Second choice")
			oProperty:AddValue(3,"Third choice")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
124:
How do I add a boolean editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Boolean",.T.,7/*EditBoolean*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
123:
How do I add a button or a page editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Page","",6/*EditPage*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
122:
How do I add a picture editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Picture",,5/*EditPicture*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
121:
How do I add a font editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Font","Arial",4/*EditFontName*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
120:
How do I add a font editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Font","Arial",3/*EditFont*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
119:
How do I add a color editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Color",255,2/*EditColor*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
118:
How do I add an edit

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Edit","text",1/*Edit*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
117:
How do I specify the character sets being included in the font editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",7/*exFontCharSet*/,"0")
		oPropertiesList:Add("Font","Arial",4/*EditFontName*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
116:
How do I show or hide the bottom scroll bar in the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",6/*exDateShowScroll*/,.F.)
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
115:
How do highlight the "Today" date is the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",5/*exDateMarkToday*/,.T.)
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
114:
How do I show or hide the "Today" button is the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",4/*exDateShowTodayButton*/,.F.)
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
113:
How to specify the first day of the week in the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",3/*exDateFirstWeekDay*/,1)
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
112:
How to specifies the shortcut for the weekdays to be displayed in the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",2/*exDateWeekDays*/,"Du Lu Ma Mi Jo Vi Si")
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
111:
How can I change the name of the months in the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",1/*exDateMonths*/,"Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre")
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
110:
Can I change the "Today" caption being displayed in the drop down date picker calendar editor

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("Option",0/*exDateTodayCaption*/,"Azi")
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
109:
How can I open the drop down editors, using a different than F4 key
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:EditOnSelect := .F.
		oPropertiesList:EditOnKey := 113
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
108:
How do I display the color properties as RGB

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:DisplayColorAs := 1/*exRGB*/
		oPropertiesList:Add("Red",255,2/*EditColor*/)
		oPropertiesList:Add("Blue",16711680,2/*EditColor*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
107:
How do I get the list of properties being listed as a string

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Add(" _ toString _ ",oPropertiesList:ToString(0/*exLiterals*/),15/*EditButton*/):Bold := .T.
		oPropertiesList:Sort(.T.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
106:
How can I display a picture to a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:DefaultItemHeight := 48
		oPropertiesList:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oPropertiesList:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oPropertiesList:Add("Picture 1","link1",1/*Edit*/):HTMLName := "Pic <img>pic1</img> or <img>pic2</img>"
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
105:
How do I show or hide the properties with multiple parameters

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowMultipleParams := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
104:
How can I add a hyperlink or anchor element

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oPropertiesList:SetProperty("SelBackColor",oPropertiesList:BackColor())
		oPropertiesList:SetProperty("SelForeColor",oPropertiesList:ForeColor())
		oPropertiesList:Add("Link 1","link1",1/*Edit*/):HTMLName := "Link <a1>one</s>"
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
103:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,128,255 } )  , .F. ))
		oPropertiesList:SetProperty("FormatAnchor",.F.,"<b><u><fgcolor=880000> </fgcolor></u></b>")
		oPropertiesList:Add("Link 1","link1",1/*Edit*/):HTMLName := "Link <a1>one</s>"
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
102:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,128,255 } )  , .F. ))
		oPropertiesList:SetProperty("FormatAnchor",.T.,"<b><u> </u></b>")
		oPropertiesList:Add("Link 1","link1",1/*Edit*/):HTMLName := "Link <a1>one</s>"
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
101:
How do I specify the indentation of the child items relative to their parents

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:AutoIndent := .F.
		oPropertiesList:Indent := 8
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:ExpandAll()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
100:
How do I specify the indentation of the child items relative to their parents

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Indent := 11
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:ExpandAll()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
99:
How do I get the a property based on its identifier

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Root","",-1/*Label*/)
		oPropertiesList:Add("Child 1",1,1/*Edit*/,,"Root"):ID := 1234
		oPropertiesList:Add("Child 2",2,1/*Edit*/,,"Root")
		oPropertiesList:SetProperty("ExpandItem","Root",.T.)
		oPropertiesList:Add("Property",oPropertiesList:Property(1234):Name(),-1/*Label*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
98:
How do I get the a property based on its index

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Root","",-1/*Label*/)
		oPropertiesList:Add("Child 1",1,1/*Edit*/,,"Root")
		oPropertiesList:Add("Child 2",2,1/*Edit*/,,"Root")
		oPropertiesList:SetProperty("ExpandItem","Root",.T.)
		oPropertiesList:Add("Item",oPropertiesList:Item(1):Name(),-1/*Label*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
97:
How do I get the number or count of the properties being listed

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Root","",-1/*Label*/)
		oPropertiesList:Add("Child 1",1,1/*Edit*/,,"Root")
		oPropertiesList:Add("Child 2",2,1/*Edit*/,,"Root")
		oPropertiesList:SetProperty("ExpandItem","Root",.T.)
		oPropertiesList:Add("Count",oPropertiesList:Count(),-1/*Label*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
96:
How do I change the name or the caption for a column

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:SetProperty("ColumnCaption",0,"Properties")
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
95:
How do I expand a property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("Root","",-1/*Label*/)
		oPropertiesList:Add("Child 1",1,1/*Edit*/,,"Root")
		oPropertiesList:Add("Child 2",2,1/*Edit*/,,"Root")
		oPropertiesList:SetProperty("ExpandItem","Root",.T.)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
94:
How do I change the width for a column

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ColumnWidth",1,48)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
93:
How do I clear or remove all properties
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("First","A",1/*Edit*/)
		oPropertiesList:Clear()
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
92:
How do I remove a property
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("First","A",1/*Edit*/)
		oPropertiesList:Remove("First")
		oPropertiesList:Refresh()

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

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("First Name","Mihai",1/*Edit*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
90:
How do I change the visual aspect description's spliter, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x1000000)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
89:
How do I change the visual aspect for thumb parts in the scroll bars, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:VisualAppearance():Add(3,"c:\exontrol\images\hot.ebn")
		oPropertiesList:SetProperty("Background",388/*exHSThumb*/,0x1000000)
		oPropertiesList:SetProperty("Background",389/*exHSThumbP*/,0x2000000)
		oPropertiesList:SetProperty("Background",391/*exHSThumbH*/,0x3000000)
		oPropertiesList:SetProperty("Background",260/*exVSThumb*/,0x1000000)
		oPropertiesList:SetProperty("Background",261/*exVSThumbP*/,0x2000000)
		oPropertiesList:SetProperty("Background",263/*exVSThumbH*/,0x3000000)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
88:
I've seen that you can change the visual appearance for the scroll bar. How can I do that

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:VisualAppearance():Add(3,"c:\exontrol\images\hot.ebn")
		oPropertiesList:SetProperty("Background",324/*exSBtn*/,0x1000000)
		oPropertiesList:SetProperty("Background",325/*exSBtnP*/,0x2000000)
		oPropertiesList:SetProperty("Background",327/*exSBtnH*/,0x3000000)
		oPropertiesList:SetProperty("Background",404/*exHSBack*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oPropertiesList:SetProperty("Background",276/*exVSBack*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oPropertiesList:SetProperty("Background",511/*exScrollSizeGrip*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:ColumnAutoResize := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
87:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipDelay := 1
		oPropertiesList:ToolTipWidth := 364
		oPropertiesList:SetProperty("Background",66/*exToolTipForeColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
86:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipDelay := 1
		oPropertiesList:ToolTipWidth := 364
		oPropertiesList:SetProperty("Background",65/*exToolTipBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:AllowTooltip := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
85:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipDelay := 1
		oPropertiesList:ToolTipWidth := 364
		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("Background",64/*exToolTipAppearance*/,0x1000000)
		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:AllowTooltip := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
84:
Is there any option to highligth the column from the cursor - point
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("Background",32/*exCursorHoverColumn*/,0x1000000)
		oPropertiesList:HeaderVisible := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
83:
How can change the visual appearance for the spin control, using your EBN files

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:SetProperty("Background",22/*exSpinUpButtonUp*/,0x1000000)
		oPropertiesList:SetProperty("Background",23/*exSpinUpButtonDown*/,0x2000000)
		oPropertiesList:SetProperty("Background",24/*exSpinDownButtonUp*/,0x1000000)
		oPropertiesList:SetProperty("Background",25/*exSpinDownButtonDown*/,0x2000000)
		oPropertiesList:AllowSpin := .T.
		oPropertiesList:Add("Spin",50,1/*Edit*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
82:
How can change the visual appearance for the slider or track bar, using your EBN files

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("Background",16/*exSliderThumb*/,0x1000000)
		oPropertiesList:SetProperty("Background",15/*exSliderRange*/,AutomationTranslateColor( GraMakeRGBColor  ( { 210,210,210 } )  , .F. ))
		oPropertiesList:Add("Slider",50,16/*EditSlider*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
81:
How do I change the visual aspect of the drop down calendar window, that shows up if I click the drop down filter button, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:SetProperty("Background",8/*exDateHeader*/,0x1000000)
		oPropertiesList:SetProperty("Background",9/*exDateTodayUp*/,0x1000000)
		oPropertiesList:SetProperty("Background",10/*exDateTodayDown*/,0x2000000)
		oPropertiesList:SetProperty("Background",11/*exDateScrollThumb*/,0x1000000)
		oPropertiesList:SetProperty("Background",12/*exDateScrollRange*/,AutomationTranslateColor( GraMakeRGBColor  ( { 230,230,230 } )  , .F. ))
		oPropertiesList:SetProperty("Background",13/*exDateSeparatorBar*/,AutomationTranslateColor( GraMakeRGBColor  ( { 230,230,230 } )  , .F. ))
		oPropertiesList:SetProperty("Background",14/*exDateSelect*/,0x1000000)
		oPropertiesList:Add("Date","1/1/2001",9/*EditDate*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
80:
How can change the visual appearance for the button that are visible inside the editors, using your EBN files

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:SetProperty("Background",7/*exButtonDown*/,0x1000000)
		oPropertiesList:SetProperty("Background",6/*exButtonUp*/,0x2000000)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
79:
How can change the visual appearance for the button that shows the drop down editors, using your EBN files

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:SetProperty("Background",4/*exDropDownButtonUp*/,0x1000000)
		oPropertiesList:SetProperty("Background",5/*exDropDownButtonDown*/,0x2000000)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
78:
Can I change the order of the buttons in the scroll bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollOrderParts",1/*exHScroll*/,"t,l,r")
		oPropertiesList:SetProperty("ScrollOrderParts",0/*exVScroll*/,"t,l,r")
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
77:
The thumb size seems to be very small. Can I make it bigger

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollThumbSize",0/*exVScroll*/,128)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
76:
How do I enlarge or change the size of the control's scrollbars

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ScrollHeight := 18
		oPropertiesList:ScrollWidth := 18
		oPropertiesList:ScrollButtonWidth := 18
		oPropertiesList:ScrollButtonHeight := 18
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
75:
How can I display my text on the scroll bar, using a different font

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollPartCaption",0/*exVScroll*/,256/*exThumbPart*/,"This is just a text")
		oPropertiesList:ScrollFont(0/*exVScroll*/):Size := 12
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
74:
How can I display my text on the scroll bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollPartCaption",0/*exVScroll*/,256/*exThumbPart*/,"this is just a text")
		oPropertiesList:Select(oPropertiesList)

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

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollToolTip",0/*exVScroll*/,"This is a tooltip being shown when you click and drag the thumb in the vertical scroll bar")
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
72:
How do I assign an icon to the button in the scrollbar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oPropertiesList:SetProperty("ScrollPartVisible",0/*exVScroll*/,32768/*exLeftB1Part*/,.T.)
		oPropertiesList:SetProperty("ScrollPartCaption",0/*exVScroll*/,32768/*exLeftB1Part*/,"<img>1</img>")
		oPropertiesList:ScrollHeight := 18
		oPropertiesList:ScrollButtonWidth := 18
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
71:
I need to add a button in the scroll bar. Is this possible

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollPartVisible",0/*exVScroll*/,32768/*exLeftB1Part*/,.T.)
		oPropertiesList:SetProperty("ScrollPartCaption",0/*exVScroll*/,32768/*exLeftB1Part*/,"1")
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
70:
Can I display an additional buttons in the scroll bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ScrollPartVisible",0/*exVScroll*/,32768/*exLeftB1Part*/,.T.)
		oPropertiesList:SetProperty("ScrollPartVisible",0/*exVScroll*/,16384/*exLeftB2Part*/,.T.)
		oPropertiesList:SetProperty("ScrollPartVisible",0/*exVScroll*/,1/*exRightB6Part*/,.T.)
		oPropertiesList:SetProperty("ScrollPartVisible",0/*exVScroll*/,2/*exRightB5Part*/,.T.)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
69:
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 oPropertiesList
	LOCAL oStdFont

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipDelay := 1
		oStdFont := oPropertiesList:ToolTipFont()
			oStdFont:Name := "Tahoma"
			oStdFont:Size := 14
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
68:
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 oProperty
	LOCAL oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oProperty := oPropertiesList:ExecuteTemplate("Add(`Bold`,1,1)")
			oProperty:Bold := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
67:
How do I disable sorting the columns when clicking the control's header
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SortOnClick := 0/*exNoSort*/
		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
66:
Can I use your EBN files to change the visual appearance for +/- expand - collapse buttons

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
		oPropertiesList:HasButtons := 4/*exCustom*/
		oPropertiesList:SetProperty("HasButtonsCustom",.F.,16777216)
		oPropertiesList:SetProperty("HasButtonsCustom",.T.,33554432)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
65:
Can I use my own icons for the +/- ( expand/collapse ) buttons

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oPropertiesList:HasButtons := 4/*exCustom*/
		oPropertiesList:SetProperty("HasButtonsCustom",.F.,1)
		oPropertiesList:SetProperty("HasButtonsCustom",.T.,2)
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
64:
How do I change visual appearance of the +/- ( expand/collapse ) buttons

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HasButtons := 3/*exWPlus*/
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
63:
How do I browse or select for a com or net object
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SelectedObject := oPropertiesList

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
62:
How do I expand all properties

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:ExpandAll()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
61:
How do I enable resizing the columns at runtime

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ColumnsAllowSizing := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
60:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Template := "Add(`First`,1,1)"

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

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Enabled := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
58:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipWidth := 328
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
57:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipDelay := 0
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
56:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipPopDelay := 10000
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
55:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ToolTipDelay := 1
		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		var_hWnd := oPropertiesList:hWnd()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
53:
How do I show alternate rows in different background color

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
52:
How do enable or disable tooltips
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:AllowTooltip := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
51:
How do change the foreground color for the control's header bar, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
50:
How do change the visual appearance for the control's header bar, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("BackColorHeader",0x1000000)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
49:
How do I change the foreground color for the description part in the bottom side of the control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ForeColorDescription",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
48:
How do I change the visual appearance for the description part in the bottom side of the control, using your EBN files

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("BackColorDescription",0x1000000)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
47:
How do I change the background color for the description part in the bottom side of the control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("BackColorDescription",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
46:
Is there any option to specify the height of the items, before adding them

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:DefaultItemHeight := 13
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
45:
How do I show or hide the connection between categories

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:MarkCategories := .T.
		oPropertiesList:LinkCategories := .F.
		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
44:
How do I show or hide the categories

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:MarkCategories := .T.
		oPropertiesList:SetProperty("MarkLineColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
43:
How do I change the foreground color for categories

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ForeColorCategories",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
42:
How do I change the background color for categories

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("BackColorCategories",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

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

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Select(oPropertiesList)
		oPropertiesList:Sort(.F.)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
40:
Is there any option to change the color for the grid lines

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HasGridLines := -1/*exAllLines*/
		oPropertiesList:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
39:
How do I specify the default category

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:DefaultCategory := "Font"
		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
38:
How do I show or hide the categories

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:MarkCategories := .F.
		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
37:
How do I get a property based on its name

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("First Name","Mihai",1/*Edit*/):ID := 100
		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:SelectedProperty := oPropertiesList:Property(100)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
36:
How do I get a property based on its name

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("First Name","Mihai",1/*Edit*/)
		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:SelectedProperty := oPropertiesList:Property("Last Name")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
35:
How do I maintain performance while making several changes
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BeginUpdate()
		oPropertiesList:Add("First",1,1/*Edit*/)
		oPropertiesList:Add("Second",1,1/*Edit*/)
		oPropertiesList:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
34:
How can I get a list of interfaces that an object implements

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		DevOut( oPropertiesList:Interfaces(oPropertiesList) )

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
33:
How can I display something else when including the elements of a collection
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowObjects := .T.
		oPropertiesList:ShowItemsCollection := .T.
		oPropertiesList:NameItemsCollection := "Name;Caption;Item;Index"
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
32:
How can I include the elements of a collection
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowObjects := .T.
		oPropertiesList:ShowItemsCollection := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
31:
How can I use a spin control to edit numeric values

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:AllowSpin := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
30:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Font():Name := "Tahoma"
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
29:
How do I show or hide the variables of an object like Font

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowVariables := .T.
		oPropertiesList:Select(oPropertiesList:Font())

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
28:
How do I show or hide the categories

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowCategories := .T.
		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26:
How can still display the selected items when the control loses the focus
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HideSelection := .F.
		oPropertiesList:Add("First Name","Mihai",1/*Edit*/)
		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:SelectedProperty := oPropertiesList:Property("Last Name")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25:
How do I change the visual appearance effect for the selected item, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:SetProperty("SelBackColor",0x1000000)
		oPropertiesList:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oPropertiesList:Add("First Name","Mihai",1/*Edit*/)
		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:SelectedProperty := oPropertiesList:Property("Last Name")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24:
How do I change the colors for the selected item

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oPropertiesList:Add("First Name","Mihai",1/*Edit*/)
		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:SelectedProperty := oPropertiesList:Property("Last Name")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23:
How do I show or hide the non browseable members
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowNonBrowsable := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22:
How can I hide or show the object's property pages

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowPropertyPages := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21:
How do I filter properties when loading
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:FireIncludeProperty := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20:
How do I get or set the selected property

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Add("First Name","Mihai",1/*Edit*/)
		oPropertiesList:Add("Last Name","Filimon",1/*Edit*/)
		oPropertiesList:SelectedProperty := oPropertiesList:Property("Last Name")
		oPropertiesList:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19:
How do I remove "Invalid property value." message
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:InvalidValueMessage := ""
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18:
How do I change the "Invalid property value." message
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:InvalidValueMessage := "new message"
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17:
How do I edit a property as soon as the user selects it
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:EditOnSelect := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16:
How do I make the control read only

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ReadOnly := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15:
How do I show or hide the read only members
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowReadOnly := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14:
How do I show or hide the grid lines

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HasGridLines := 0/*exNoLines*/
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13:
How do I hide the hierarchy lines

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HasLines := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12:
How can I add the horizontal scroll bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ColumnAutoResize := .F.
		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11:
How do I show or hide the control's header bar

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:HeaderVisible := .T.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10:
How do I show or hide the objects members
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowObjects := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9:
How do I show or hide the restricted members
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowRestricted := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8:
How do I show or hide the hidden members
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:ShowHidden := .F.
		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7:
How do I browse or select an object
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:Select(oPropertiesList)

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 120,0,120 } )  , .F. ))
		oPropertiesList:Select(oPropertiesList)

	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 background color

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 200,200,200 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4:
How do change the visual appearance for the control's border, using EBN

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPropertiesList:BorderStyle := 16777216/*0x1000000+*/
		oPropertiesList:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3:
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 oPropertiesList

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:BorderStyle := 0/*None*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2:
How do I change the height of the description part in the bottom side of the control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:DescriptionHeight := 100

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1:
How do I hide or show the description part in the bottom side of the control

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

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

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

	oPropertiesList := XbpActiveXControl():new( oForm:drawingArea )
	oPropertiesList:CLSID  := "Exontrol.PropertiesList.1" /*{A703DF80-DFF3-48D7-A4C7-47CF6A48425C}*/
	oPropertiesList:create(,, {10,60},{610,370} )

		oPropertiesList:DescriptionVisible := .F.

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