269:
Displays the time without seconds, smaller and with a different color

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"(((valueS left ( valueS rfind `:` )) + (valueS right ( len(valueS) - ( valueS rfind ` ` ) )) replace ` ` with `<fgcolor=808080><font ;6> ` ))")
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:ModifiedDaysAgo := -1
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
268:
Displays the date-time with no seconds part

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"(valueS left ( valueS rfind `:` )) + (valueS right ( len(valueS) - ( valueS rfind ` ` ) ))")
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:ModifiedDaysAgo := -1
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
267:
Displays the Modified column in long date format, as specified in the control's panel ( no time is displayed )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"longdate(value)")
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:ModifiedDaysAgo := -1
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
266:
Displays the modified date in "MM/DD/YYYY HH:MM:SS" format, so 1/1/2001 will be displayed such as 01/01/2001

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"dateF(value)")
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:ModifiedDaysAgo := -1
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
265:
Displays the modified date without the time

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"date(int(value))")
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:ModifiedDaysAgo := -1
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
264:
Displayes the modified time with a different color

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"valueS replace ` ` with `<off -4><fgcolor=808080><font ;6> `")
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:ModifiedDaysAgo := -1
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
263:
Displays all files/folders modified n days ago, with white on a black background

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"`<bgcolor=000000><fgcolor=FFFFFF>` + valueS")
		oExFileView:ModifiedDaysAgo := 31
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
262:
Displays today for all files/folders modified today, yesterday for all files modified yesterday, else "%i day(s) ago"

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Option",1/*exModifiedDaysAgo*/,"daysago = 0 ? `today` : (daysago = 1 ? `yesterday` : (daysago + ` day(s) ago`))")
		oExFileView:ModifiedDaysAgo := 31
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
261:
Displays today for all files/folders else "%i day(s) ago"

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:ModifiedDaysAgo := 31
		oExFileView:ColumnsVisible := 26/*exFileColumnModified+exFileColumnType+exFileColumnName*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
260:
FilterBarCaption ALL Keyword ( sample 2, result )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
259:
FilterBarCaption ALL Keyword ( sample 1 )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "all"
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
258:
FilterBarCaption ALLUI Keyword ( sample 2, result )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
257:
FilterBarCaption ALLUI Keyword ( sample 1 )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "allui"
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
256:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
255:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "value + ` ` + available"
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
254:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
		oExFileView:FilterBarPromptVisible := 256/*exFilterBarToggle*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
253:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
		oExFileView:FilterBarPromptVisible := 256/*exFilterBarToggle*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
252:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("Description",11/*0x8+exFilterBarPatternFilterTitle*/,Transform(oExFileView:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oExFileView:Description(11/*0x8+exFilterBarPatternFilterTitle*/)),""))
		oExFileView:FilterBarCaption := "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"
		oExFileView:FilterBarPromptVisible := 256/*exFilterBarToggle*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
251:
How can I get the number of results/items being shown in the control's filter bar (sample 4)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:FilterBarPrompt := Transform(oExFileView:FormatABC("`<b>` + value",oExFileView:FilterBarPrompt()),"")
		oExFileView:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
		oExFileView:FilterBarPromptVisible := 3591/*exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

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

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterInclude := 1/*exItemsWithChilds*/
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:FilterBarCaption := "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +;
		"i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`"
		oExFileView:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
249:
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarFont := oExFileView:Font()
		oExFileView:FilterBarCaption := "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"
		oExFileView:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
248:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 1281/*exFilterBarShowCloseOnRight+exFilterBarToggle+exFilterBarPromptVisible*/
		oExFileView:FilterBarPrompt := Transform(oExFileView:FormatABC("`<r>` + value",oExFileView:FilterBarPrompt()),"")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
247:
How can I change the visual appearance of the filter bar's close button (EBN)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oAppearance := oExFileView:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +;
		"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +;
		"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ")
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/
		oExFileView:SetProperty("Background",1/*exFooterFilterBarButton*/,0x1000000)
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
246:
How can I change the visual appearance of the filter bar's close button (solid)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 1/*exFilterBarPromptVisible*/
		oExFileView:SetProperty("Background",1/*exFooterFilterBarButton*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
245:
Is it possible to prevent definitely showing the filter bar's close button

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 1/*exFilterBarPromptVisible*/
		oExFileView:SetProperty("Background",1/*exFooterFilterBarButton*/,-1)
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
244:
Is it possible to show the close button only if there is a filter applied

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 513/*exFilterBarShowCloseIfRequired+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
243:
The control's filter bar is not closed once I click the close button (toggle)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarCaption := "`<r><fgcolor=808080>` + value"
		oExFileView:FilterBarPromptVisible := 2323/*exFilterBarCompact+exFilterBarToggle+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
242:
How can I display the control's filter on a single line

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarCaption := "len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`"
		oExFileView:FilterBarPromptVisible := 18/*exFilterBarSingleLine+exFilterBarVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
241:
How can I display the control's filter on a single line (prompt-combined)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarCaption := "`<r>` + value"
		oExFileView:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
240:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
239:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarPromptVisible := 1/*exFilterBarPromptVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
238:
Is it possible to prevent closing the control's filter bar, so it is always shown

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:FilterBarCaption := "len(value) = 0 ? `<fgcolor=808080>no filter` : value"
		oExFileView:FilterBarPromptVisible := 2/*exFilterBarVisible*/
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
237:
Is it possible to show the selection with a different color, 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 oExFileView

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:SingleSel := .F.
		oExFileView:ExploreFromHere := ""
		oExFileView:HideSelection := .F.
		oExFileView:SetProperty("Background",166/*exSelBackColorHide*/,AutomationTranslateColor( GraMakeRGBColor  ( { 224,224,224 } )  , .F. ))
		oExFileView:SetProperty("Background",167/*exSelForeColorHide*/,AutomationTranslateColor( GraMakeRGBColor  ( { 64,64,64 } )  , .F. ))
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
236:
Predefined Keywords of ShowContextMenu property

PROCEDURE OnStateChange(oExFileView,State)
	oExFileView:ExecuteContextMenu := 0
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:ShowContextMenu := "`menu(` + menu + `)` + `,filecount=` + filecount + `,fileattr=` + hex(fileattr) + `,filename=` + filename + `,fileparsename=` + fileparsename + `,filefullname=` + filefullname"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
235:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExpandFolders := .T.
		oAppearance := oExFileView:VisualAppearance()
			oAppearance:Add(1,"XP:TREEVIEW 2 1")
			oAppearance:Add(2,"XP:TREEVIEW 2 2")
		oExFileView:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000)
		oExFileView:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000)
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
234:
How can I find if the control is running in DPI mode
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		DevOut( Transform(oExFileView:FormatABC("dpi = 1 ? `normal/stretch mode` : `dpi mode`"),"") )

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

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExpandFolders := .T.
		oAppearance := oExFileView:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +;
		"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
			oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +;
		"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
		oExFileView:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000)
		oExFileView:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000)
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
232:
How can I copy/execute command a file/folder as path (selection)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:SingleSel := .F.
		oExFileView:ExploreFromHere := ""
		oExFileView:ExpandFolders := .T.
		oExFileView:Select("*")
		oExFileView:ExecuteContextCommand("<selection>",.T.,"Copy As Path")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
231:
How can I programmatically selects all items

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExpandFolders := .T.
		oExFileView:SingleSel := .F.
		oExFileView:ExploreFromHere := ""
		oExFileView:Select("*")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
230:
How can I clear the current selection
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:Select("")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
229:
I know the Expand method selects a folder, the question is if it is possible to prevent expanding it, so just select it

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "c:\"
		oExFileView:SingleSel := .F.
		oExFileView:Select("Temp")
		oExFileView:Select("Windows")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
228:
How can I display the identifiers of the control's context menu (debug)

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:ShowContextMenu := "`[debug]` + menu"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
227:
How can I copy/execute command a file/folder (selection)
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:SingleSel := .F.
		oExFileView:ExploreFromHere := "c:\"
		oExFileView:ExpandFolders := .T.
		oExFileView:Expand("c:\Temp")
		oExFileView:ExecuteContextCommand("<selection>",.T.,"Copy")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
226:
How can I copy a file/folder (absolute name)
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := "c:\"
		oExFileView:ExecuteContextCommand("c:\Temp",.T.,"Copy")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
225:
How can I copy a file/folder (relative name)
#include "AppEvent.ch"
#include "ActiveX.ch"

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := "c:\"
		oExFileView:ExecuteContextCommand("Temp",.T.,"Copy")
		oExFileView:EndUpdate()

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "filecount = 0 ? `Exit[id=1000]` : ( ( ( filecount = 1 ) ? filename : `multiple selection` ) + `[dis],[sep],` + menu)"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "filecount > 1 ? `multiple selection[dis]` : menu"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "filecount > 1 ? `multiple selection[dis]` : menu"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ExpandFolders := .T.
		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ShowContextMenu := "menu replace `Delete` with `Delete[dis]`"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ExpandFolders := .T.
		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ShowContextMenu := "menu replace `&Delete` with ``"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "`Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),` + menu + `,Exit[id=1000]`"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:SingleSel := .F.
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "filecount = 0 ? `Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]` : menu"

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

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "Popup(Item 1[id=1001],Item 2[id=1002],Item 3[id=1003]),[sep],Exit[def][id=1000]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
216:
ShowContextMenu usage
PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State" )
	DevOut( Transform(State,"") )
	DevOut( "ExecuteContextMenu" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
	DevOut( "no context menu is generated, so nothing is displayed" )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:FullRowSelect := .T.
		oExFileView:ShowContextMenu := "``"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
215:
How can I add new items to the default file's context menu

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State " )
	DevOut( Transform(State,"") )
	DevOut( "ContextMenu" )
	DevOut( oExFileView:ShowContextMenu() )
	oExFileView:ShowContextMenu := Transform(oExFileView:FormatABC("B = 20 ? ( `My First Popup[def](A,B,C),[sep],`+ value + `,[sep],My Last Popup[def](A,B,C)` ) : value",oExFileView:ShowContextMenu(),State),"")
	DevOut( "Execute" )
	DevOut( Transform(oExFileView:ExecuteContextMenu(),"") )
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/

		oExFileView:ExploreFromHere := ""

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
214:
Is it possible to display the item's identifiers in the file's context menu

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State " )
	DevOut( Transform(State,"") )
	DevOut( "ContextMenu" )
	DevOut( oExFileView:ShowContextMenu() )
	oExFileView:ShowContextMenu := Transform(oExFileView:FormatABC("B = 20 ? (`[debug]`+ value) : value ",oExFileView:ShowContextMenu(),State),"")
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/


	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
213:
How can I remove the Delete command from the file's context menu

PROCEDURE OnStateChange(oExFileView,State)
	DevOut( "State " )
	DevOut( Transform(State,"") )
	DevOut( "ContextMenu" )
	DevOut( oExFileView:ShowContextMenu() )
	oExFileView:ShowContextMenu := Transform(oExFileView:FormatABC("value replace `&Delete` with ``",oExFileView:ShowContextMenu()),"")
RETURN

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:StateChange := {|State| OnStateChange(oExFileView,State)} /*Fired while the control's state has been changed.*/


	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
212:
How do I execute a command from the file's content menu (sample 2)

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExploreFromHere := ""
		oExFileView:ExecuteContextCommand("C:\",.T.,"20")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
211:
How can I simulate the left-side of the Windows Explorer

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ColumnsVisible := 2/*exFileColumnName*/
		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{450d8fba-ad25-11d0-98a8-0800361b1103}|::{018D5C66-4533-4307-9B53-224DE2ED1FE6}|::{20D04FE0-3AEA-1069-A2D8-08002B30309D}|::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}"
		oExFileView:Expand("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
210:
How can I add the "Control Panel" folder

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ColumnsVisible := 2/*exFileColumnName*/
		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{26EE0668-A00A-44D7-9371-BEB064C98683}>"
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
209:
How can I add the "My Documents"

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{450d8fba-ad25-11d0-98a8-0800361b1103}>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
208:
How can I add the Printers and Faxes

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:ExpandFolders := .T.
		oExFileView:ColumnsVisible := 2/*exFileColumnName*/
		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ExploreFromHere := "::{2227a280-3aea-1069-a2de-08002b30309d}>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
207:
How can I add the Network Connections

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ExpandFolders := .T.
		oExFileView:ColumnsVisible := 2/*exFileColumnName*/
		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ExploreFromHere := "::{7007acc7-3202-11d1-aad2-00805fc1270e}>"
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
206:
How can I add the "Recycle Bin" folder

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:ExpandFolders := .T.
		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ExploreFromHere := "::{645FF040-5081-101B-9F08-00AA002F954E}>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
205:
How can I add the "Documents" folder

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{450D8FBA-AD25-11D0-98A8-0800361B1103}>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
204:
How can I add the "Control Panel" folder

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:BeginUpdate()
		oExFileView:ColumnsVisible := 2/*exFileColumnName*/
		oExFileView:ExpandFolders := .T.
		oExFileView:IncludeFilesInFolder := .T.
		oExFileView:ExploreFromHere := "::{21EC2020-3AEA-1069-A2DD-08002b30309d}>"
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
203:
How can I add the Network folder

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
202:
How can I add the My Computer

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}>"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
201:
How can I add the My Network Places folder

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

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

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

	oExFileView := XbpActiveXControl():new( oForm:drawingArea )
	oExFileView:CLSID  := "Exontrol.ExFileView.1" /*{F26C97E5-3E86-4CE4-935B-A997AB3DDBE4}*/
	oExFileView:create(,, {10,60},{610,370} )

		oExFileView:ExpandFolders := .T.
		oExFileView:ExploreFromHere := "::{208D2C60-3AEA-1069-A2D7-08002B30309D}>"

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