Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
En parcourant un post j'ai vu que cette question avait déjà été posée. La solution en recourant à des fonctions externes de l'API windows m'ait apparu un peu compliquée.
Voici une méthode uniquement PB qui résoud ce problème.
Etape 1 Déclaration d'une variable d'instance
// Indicateur qui précise si l'utilisateur a cliqué sur le tree vieuw pour le déployer // le but étant de faire la différence entre un click pour déployer le tree vieuw ou pour faire une sélection // Utilisé dans itemExpend() du treeVieuw Boolean ib_ClickForDeployTreeVieuw = false
Etape 2 : Dans ItemExpand() du treeVieuw
ib_ClickForDeployTreeVieuw = true Post of_setClickForDeployTreeVieuw()
Le corps de la fonction of_setClickForDeployTreeVieuw() est :
//--------------------------------------------------------------------------------------------------------------------------------------------- // Objet : Réinitialiser l'indicateur ib_ClickForDeployTreeVieuw à faux //-------------------------------------- // Déclencheur : En post itemExpand() du treeVieuw //--------------------------------- // Remarque : Lorsque l'utilisateur clique pour déployer le tree vieuw alors itemExpanded est délenché. // A cette occasion l'indicateur ib_ClickForDeployTreeVieuw est placé à vrai de manière à éviter // qu'il y ait une selection d'item par défaut //--------------------------------------------------------------------------------------------------------------------------------------------- ib_ClickForDeployTreeVieuw = false
Enfin dernière étape dans la routine événementielle SelectionChanging() du treeVieuw, nous aurons :
//--------------------------------------------------------------------------------------------------------------------- // Objet : Empêcher la selection de l'item si l'utilisateur à demandé le déploiement du tree vieuw //------------------------------------------------------------------------------------------------------------------ If ib_ClickForDeployTreeVieuw = true then Return 1 Else Return 0 End if
Voilà c'est fini !
Dernière modification par Dadone (14-11-2008 21:07:18)
Hors ligne
à toi
Hors ligne
Pages: 1