Here my unsuccesful tryRoberto Lopez wrote: I could assist (when the code refers to new properties, methods or completely new controls) in adapt it to user components interface.

Code: Select all
#include "minigui.ch"
#define USR_COMP_PROC_FLAG 63
PROC Main()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 230 ;
HEIGHT 480 ;
TITLE 'ExpandAll Method for TREE' ;
MAIN
ON KEY ESCAPE ACTION Form_1.Release
DEFINE TREE Tree_1 AT 10,10 WIDTH 200 HEIGHT 400
NODE 'Item 1'
TREEITEM 'Item 1.1'
TREEITEM 'Item 1.2' ID 999
TREEITEM 'Item 1.3'
END NODE
NODE 'Item 2'
TREEITEM 'Item 2.1'
NODE 'Item 2.2'
TREEITEM 'Item 2.2.1'
TREEITEM 'Item 2.2.2'
TREEITEM 'Item 2.2.3'
TREEITEM 'Item 2.2.4'
TREEITEM 'Item 2.2.5'
TREEITEM 'Item 2.2.6'
TREEITEM 'Item 2.2.7'
TREEITEM 'Item 2.2.8'
END NODE
TREEITEM 'Item 2.3'
END NODE
NODE 'Item 3'
TREEITEM 'Item 3.1'
TREEITEM 'Item 3.2'
NODE 'Item 3.3'
TREEITEM 'Item 3.3.1'
TREEITEM 'Item 3.3.2'
END NODE
END NODE
END TREE
@ 415, 10 BUTTON btnExpAll CAPTION "Expand All" ACTION UC_ExpandAll( 'Form_1' , 'Tree_1' )
@ 415, 110 BUTTON btnColpAll CAPTION "Collapse All" ACTION NIL
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
RETU // Main()
*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
*------------------------------------------------------------------------------*
Init Procedure _UC_ExpandAll
*------------------------------------------------------------------------------*
InstallMethodHandler ( 'ExpandAll' , 'UC_ExpandAll' )
Return
*------------------------------------------------------------------------------*
PROC UC_ExpandAll( cWindowName , cControlName )
*------------------------------------------------------------------------------*
IF GetControlType ( cControlName , cWindowName ) == 'TREE'
BE_ExpandAll( cWindowName, cControlName )
_HMG_SYSDATA [USR_COMP_PROC_FLAG] := .T.
ELSE
_HMG_SYSDATA [USR_COMP_PROC_FLAG] := .F.
ENDIF
RETURN // UC_ExpandAll()
*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
PROC BE_ExpandAll( cWindowName, cControlName )
LOCA nItemCount := GetProperty( cWindowName, cControlName, 'ItemCount' ),;
nItemNo := 0
FOR nItemNo := 1 TO nItemCount
* * * * * * * * * * * * * * *
* Here break Point :
* * * * * * * * * * * * * * *
Domethod ( cWindowName, cControlName, 'Expand(' + LTRIM( STR( nItemNo ) ) + ')' )
NEXT nItemNo
RETU // BE_ExpandAll()
*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
RegardsThis is on your hands now.
--
esgici