Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Voilà mon problème : j'ai un picture bonton de grosse taille et dans le Text de ce picture bouton j'ai mis "Valider" avec plein d'espace pour que le texte soit au milieu du bouton et centré. Mon appli sera sur XP et 2000, le problème c'est que le texte qui se trouve dans mon bouton change de place suivant l'OS. Existe t'il une fonction pour que le texte soit toujour au milieu du picture bouton et centré à la fois?
Dernière modification par poche (04-12-2007 15:27:21)
Hors ligne
Bonjour,
Dans l'onglet "properties" de ton picture button:
Horizontal alignement: center
Vertical alignement: center
Hors ligne
Salut
Par mieux
Hors ligne
oui mais comment faire si mon text est long et en multiligne? (je vois pas tous le texte que j'ai écris)
Y a bien l'option multiligne, mais on enlève l'option center!!!!!
Dernière modification par poche (03-12-2007 16:24:14)
Hors ligne
Dans ce cas, il convient de créer un user_object visuel combinant un PictureButton sans texte avec un StaticText:
Ca te permettra de gérer correctement l'alignement horizontal et vertical de ton texte en multiligne.
Hors ligne
ben tu agrandis la taille de ton bouton. Tu ajustes.
Hors ligne
Mets la police en 2 sinon ( ou 22 comme tu veux.. 22 vla les flics -> HELLKINDER© )
Hors ligne
yoh man !
tu peux faire comme ceci :
HtextAlign : Center!
VtextAlign : multiline!
et le texte à afficher : pb_poche.text = "pb" + char(13) + char(10) + "a" + char(13) + char(10) + "donf"
apres, tu definis une taille specifique ,afin que ton bouton puisse contenir ces 3 lignes...
Hors ligne
foon a écrit:
Dans ce cas, il convient de créer un user_object visuel combinant un PictureButton sans texte avec un StaticText:
Ca te permettra de gérer correctement l'alignement horizontal et vertical de ton texte en multiligne.
ok, mais après dans l'objet, l'évènement clicked n'est plus la, comment doit je faire??
Hors ligne
Si, l'événement clicked est sur le PictureButton que tu as mis sur ton UserObject
Hors ligne
Dans le picture bouton, j'ai codé l'évènement clicked :
Parent.Trigger event ue_clicked()
Ensuite, j'ai créé un évènement ue_clicked sur cette objet pour avoir accès sur une fenêtre ou j'orais mis cet objet.
Enfin, j'ai codé l'évènement ue_clicked de l'objet qui est sur la fenêtre. Mais ça ne marche pas, c'est comme si je clickais pas dessus. Lors du débuggage, mon applis rentre pas dans l'évènement clicked de mon pb et je ne vois pas pourquoi???
Hors ligne
Tu as fait un "bringToFront" de ton pictureButton sur ton userobject?
PS:
Hors ligne
Je n'ai pas l'option bringtofront dans mon picture bouton!!
Hors ligne
Ce n'est pas une option, c'est quand tu te positionnes dessus dans le layout et que tu fais un clique-droit
Hors ligne
Clic droit sur ton picture button --> Bring to front
Sinon dans le code :
nomdetonobject.bringtotop=true
Hors ligne
Avec ça, cela ne marche toujours pas...
Hors ligne
Regardes si tu ne passerais pas dans l'événement "clicked" de ton StaticText par hasard...
Hors ligne
ça passe dans aucun clicked de l'objet, quand je click sur le bouton de l'objet, c'est comme si je ne clickais pas, le bouton s'enfonce même pas..
Je vois vraiment pa pourquoi!!
Hors ligne
Fais un export de ton userobject pour qu'on puisse regarder ce qu'il a dans le ventre
Hors ligne
J'ai trouver l'erreur, c'est que j'utilisais un static text que j'ai rendu transparent et cet objet est instable...
Dans le ue_paint du static text j'ai mis :
if IsValid(this) then // On ne fait rien si ue_paint est déjà en cours de traitement if ib_Painting then return 0 // Indicateur de traitement de ue_paint ib_Painting = TRUE // On cache l'objet this.visible = false // On vide la boucle de message do while yield() ; loop // On affiche l'objet this.visible = true // Le ue_paint est traité ib_painting=false end if return 0
et dans le constructeur de ce static text j'ai mis :
this.BackColor = 2^29
le problème c'est que cet objet est super instable. Je veux mettre un static text devant le picture bouton mais le static text cache le photo du picture bouton...
Avez vous une solution à me proposer???
Dernière modification par poche (04-12-2007 09:59:44)
Hors ligne
Mets en commentaire ton code dans le ue_paint
Hors ligne
j'ai fait ce que tu m'a dis et la je ne voi pu le text !!!
Hors ligne
Tu as du code dans l'ancêtre de ton ue_paint?
Tu as ajouté this.TextColor = RGB(0,0,0) dans le constructor?
Hors ligne
Je n'ai nulle part du code dans ue_paint. Ensuite, dans le constructeur du static text, il y a :
this.BackColor = 2^29 this.TextColor = RGB(0,0,0)
Et la je vois pas le text, il est invisible...
Hors ligne
c'est bon je vois le text, mais le fond n'est pas invisible, il est blanc!!!
Hors ligne