Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 13-11-2008 21:22:53

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

[ASTUCE] Distinction pour un treeVieuw entre le déploiement et le fait de sélectionner un item

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

Code: pb

// 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

Code: pb

ib_ClickForDeployTreeVieuw = true
Post of_setClickForDeployTreeVieuw()


Le corps de la fonction of_setClickForDeployTreeVieuw() est :

Code: pb

//---------------------------------------------------------------------------------------------------------------------------------------------
// 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 :

Code: pb

//---------------------------------------------------------------------------------------------------------------------
// 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

 

#2 17-11-2008 08:04:20

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [ASTUCE] Distinction pour un treeVieuw entre le déploiement et le fait de sélectionner un item

à toi


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22