Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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 15-10-2008 11:22:30

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

[RESOLU] Checkbox : un effet cadre récalcitrant

Bonjour,

Dans ma datawindow j'ai une colonne que j'affiche sous forme de case à cocher (Properties -> Edit -> Style Type -> Checkbox).
Je ne veux pas de bordure, alors je l'enlève (Properties -> General -> Border -> NoBorder (0)).

Lorsque j'exécute mon application, j'obtiens tout de même un drôle de cadre :
http://www.nyphel.com/screens/bug_cadre_cb.JPG






Si l'application est lancée depuis PowerBuilder (run), alors ce cadre disparait aussitôt que je promène ma souris sur la datawindow.
Si l'application est déployée et exécutée depuis le .exe, alors le cadre persiste.

Dans certains cas, ces deux colonnes ne sont pas modifiables par l'utilisateur, leur valeur est mise à jour lors du retrieve() ou par script. Pour les rendre non modifiables, j'appelle simplement ce petit bout de script dans mon postopen() :

Code: pb

ma_datawindow.SetTabOrder('ma_colonne_1', 0)
ma_datawindow.SetTabOrder('ma_colonne_checkbox', 0)


Le contrôle 'ma_colonne_1' est situé juste au-dessus de ma checkbox. Il s'avère que le cadre de ma checkbox apparait lorsque je mets le tab order à 0 pour 'ma_colonne_1' qui est située au-dessus de ma checkbox o_O

Je ne comprends pas ce comportement étrange... Mais surtout je ne parviens pas à m'en débarrasser :-/
Auriez-vous une idée ?

Merci

Dernière modification par Nyphel (15-10-2008 12:04:59)

Hors ligne

 

#2 15-10-2008 11:56:06

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Checkbox : un effet cadre récalcitrant

Bonjour,

Le cadre dont tu parles indique simplement que ta colonne checkbox à le focus.

C'est le comportement standard d'une checkbox (non modifiable à ma connaissance), la propriété "Border" indique simplement le style de bordure qui va encadré ta checkbox et ne modifie en aucun le rectangle indiquant que le focus est sur ta colonne.

Il est normale que le cadre indiquant le focus apparaîsse lorsque tu désactives la première colonne puisqu'il n'y plus qu'une seule colonne active dans ta datawindow donc elle prend automatiquement le focus.

Pour ne pas faire apparaître le cadre lorsque tu désactives les deux colonnes, il suffit d'encadrer ton code avec SetRedraw :

Code: pb

ma_datawindow.SetRedraw(FALSE)
ma_datawindow.SetTabOrder('ma_colonne_checkbox', 0)
ma_datawindow.SetTabOrder('ma_colonne_1', 0)
ma_datawindow.SetRedraw(TRUE)

Hors ligne

 

#3 15-10-2008 12:04:47

Nyphel  
Membre Power Geek
Lieu: Grenoble
Date d'inscription: 06-05-2008
Messages: 253
Pépites: 12
Banque: 529,705,333,097,693

Re: [RESOLU] Checkbox : un effet cadre récalcitrant

Héhé merci Buck, ça fonctionne parfaitement grâce à toi !

J'avais remarqué la propriété "Show focus rectangle" sur mes autres colonnes, mais comme je n'avais pas la propriété pour la colonne de style CHeckbox, je pensais que le focus rectangle était tout simplement désactivée pour les checkboxes... Alors qu'en fait elle est activée et n'est pas désactivable

Merci encore, voilà un nouveau sujet résolu !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22