297
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-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:ImageSize := 32
		oExFileView:DefaultItemHeight := 36
		oExFileView:HeaderHeight := oExFileView:DefaultItemHeight()
		oExFileView:Font():Size := 16
		oExFileView:FilterBarFont():Size := oExFileView:Font():Size()
		oExFileView:ToolTipFont():Size := oExFileView:Font():Size()
		oExFileView:Indent := 26
		oAppearance := oExFileView:VisualAppearance()
			oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +;
		"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +;
		"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
			oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnS" +;
		"cg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDRDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQB" +;
		"gk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" +;
		"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4g" +;
		"aBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtYQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0M" +;
		"gRBCCQAgQEA==")
			oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnS" +;
		"eQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4" +;
		"ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" +;
		"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYj" +;
		"VHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
			oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +;
		"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +;
		"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
		oExFileView:SetProperty("BackColorHeader",0x4c6c6c6)
		oExFileView:SetProperty("SelBackColor",0x4000000)
		oExFileView:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oExFileView:SetProperty("Background",20/*exSelBackColorFilter*/,oExFileView:SelBackColor())
		oExFileView:SetProperty("Background",21/*exSelForeColorFilter*/,oExFileView:SelForeColor())
		oExFileView:SetProperty("Background",26/*exBackColorFilter*/,oExFileView:BackColor())
		oExFileView:SetProperty("Background",27/*exForeColorFilter*/,oExFileView:ForeColor())
		oExFileView:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x4000000)
		oExFileView:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x4010101)
		oExFileView:SetProperty("Background",1/*exFooterFilterBarButton*/,0x40000ff)
		oExFileView:SetProperty("Background",70/*exCheckBoxState0*/,0x1000000)
		oExFileView:SetProperty("Background",71/*exCheckBoxState1*/,0x2000000)
		oExFileView:SetProperty("Background",72/*exCheckBoxState2*/,0x3000000)
		oExFileView:ExpandFolders := .T.
		oExFileView:FilterBarPromptVisible := -1/*0xffffd0e8+exFilterBarTop+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:HasCheckBox := 1/*PartialCheckBox*/
		oExFileView:ExploreFromHere := ""
		oExFileView:Expand("C:")
		oExFileView:SetProperty("ColumnFilterButton","Type",.T.)
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
296
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-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:ImageSize := 16
		oAppearance := oExFileView:VisualAppearance()
			oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +;
		"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVoWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +;
		"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
		oExFileView:SetProperty("BackColorHeader",0x4c6c6c6)
		oExFileView:SetProperty("SelBackColor",0x4000000)
		oExFileView:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,1 } )  , .F. ))
		oExFileView:ExpandFolders := .T.
		oExFileView:FilterBarPromptVisible := -1/*0xffffd0e8+exFilterBarTop+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/
		oExFileView:HasCheckBox := 1/*PartialCheckBox*/
		oExFileView:ExploreFromHere := ""
		oExFileView:Expand("C:")
		oExFileView:SetProperty("ColumnFilterButton","Type",.T.)
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
295
Is it possible to view all events the control fires
PROCEDURE OnEvent(oExFileView,EventID)
	DevOut( Transform(oExFileView:EventParam(-2),"") )
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:Event := {|EventID| OnEvent(oExFileView,EventID)} /*Notifies the application once the control fires an event.*/


	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
294
Is there any event to notify that the control still loading files and/or folders
PROCEDURE OnStateChange(oExFileView,State)
	DevOut( Transform(oExFileView:FormatABC("value = 22 ? `LoadingState` : (value = 9 ? `BeforeLoadState` : (value = 10 ? `AfterLoadState` : ``))",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
293
How to initiate the OLE drag and drop support for the control
PROCEDURE OnOLEStartDrag(oExFileView,Data,AllowedEffects)
	/*Data.SetData("files to drag")*/
	AllowedEffects := 1
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:OLEStartDrag := {|Data,AllowedEffects| OnOLEStartDrag(oExFileView,Data,AllowedEffects)} /*Occurs when the OLEDrag method is called.*/

		oExFileView:OLEDropMode := 1/*exOLEDropManual*/
		oExFileView:SingleSel := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
292
Is it possible to highlight the column's header once a filter is applied

#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(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +;
		"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
			oAppearance:Add(1,"CP:2 -8 -4 2 4")
		oExFileView:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x1fefefe)
		oExFileView:SetProperty("Background",41/*exHeaderFilterBarActive*/,0x1010101)
		oExFileView:SetProperty("Background",32/*exCursorHoverColumn*/,-1)
		oExFileView:ExploreFromHere := ""
		oExFileView:SetProperty("ColumnFilterButton","Name",.T.)
		oExFileView:SetProperty("ColumnFilterButton","Type",.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
291
How can I get the file being dropped by drag and drop
PROCEDURE OnOLEDragDrop(oExFileView,Data,Effect,Button,Shift,X,Y)
	DevOut( Transform(Data,"") )
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:OLEDragDrop := {|Data,Effect,Button,Shift,X,Y| OnOLEDragDrop(oExFileView,Data,Effect,Button,Shift,X,Y)} /*Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.*/

		oExFileView:ExploreFromHere := ""
		oExFileView:OLEDropMode := 1/*exOLEDropManual*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
290
Is it possible to show the filterbar on top of the rows

#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:FilterBarPromptVisible := 8705/*exFilterBarTop+exFilterBarShowCloseIfRequired+exFilterBarPromptVisible*/

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

#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: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
288
StreamBackedFolder
#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:ExploreFromHere := "::{EDC978D6-4D53-4b2f-A265-5805674BE568}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
287
Games 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:ExploreFromHere := "::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
286
CLSID_StartMenuPathCompleteProviderFolder
#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:ExploreFromHere := "::{e345f35f-9397-435c-8f95-4e922c26259e}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
285
CLSID_StartMenuProviderFolder
#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:ExploreFromHere := "::{daf95313-e44d-46af-be1b-cbacea2c3065}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
284
Offline Files
#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:ExploreFromHere := "::{BD7A2E7B-21CB-41b2-A086-B309680C6B7E}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
283
Other Users 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:ExploreFromHere := "::{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
282
CLSID_StartMenuCommandingProviderFolder
#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:ExploreFromHere := "::{a00ee528-ebd9-48b8-944a-8942113d46ac}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
281
CLSID_StartMenuLauncherProviderFolder
#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:ExploreFromHere := "::{98f275b4-4fff-11e0-89e2-7b86dfd72085}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
280
Search Home
#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:ExploreFromHere := "::{9343812e-1c37-4a49-a12e-4b2d810d956b}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
279
CLSID_AppInstanceFolder
#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:ExploreFromHere := "::{64693913-1c21-4f30-a98f-4e52906d3b56}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
278
Control Panel command object for Start menu and desktop
#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:ExploreFromHere := "::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}"

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

#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: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
276
IE History and Feeds Shell Data Source for Windows Search
#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:ExploreFromHere := "::{11016101-E366-4D22-BC06-4ADA335C892B}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
275
Search 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:ExploreFromHere := "::{04731b67-d933-450a-90e6-4acd2e9408fe}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
274
OneDrive
#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:ExploreFromHere := "::{018D5C66-4533-4307-9B53-224DE2ED1FE6}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
273
Internet Explorer (Homepage)
#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:ExploreFromHere := "::{871c5380-42a0-1069-a2ea-08002b30309d}"

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

#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:ExploreFromHere := "::{5b934b42-522b-4c34-bbfe-37a3ef7b9c90}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
271
Shared Documents Folder (Users Files)

#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:ExploreFromHere := "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
270
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

#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,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +;
		"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
			oAppearance:Add(2,"CP:1 0 -36 0 0")
		oExFileView:SetProperty("Background",182/*exColumnsPositionSign*/,0x2000000)
		oExFileView:ExploreFromHere := ""
		oExFileView:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
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>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + `</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