Texte dans le bouton

gabiset Messages postés 53 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 9 novembre 2007 - 29 juin 2007 à 15:32
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 4 juil. 2007 à 13:20
Bonjour,

J'utilise la propriété Caption de mon TButton pour afficher le texte que je souhaite sur ce bouton. Le problème auquel je suis confrontée est que mon texte est toujours centré dans le bouton, alors que j'aimerais le câler à gauche (pour des raisons esthétiques, mon bouton est plus large que mon texte mais mon texte doit être câlé à gauche).

Comment dois-je faire et surtout est-ce possible avec Delphi ?

Merci pour vos réponses.

Delphine

7 réponses

cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
29 juin 2007 à 16:09
Bonjour à tous,

@ gabiset, Tu utilises un BitBtn, tu traficottes l'image pour rajouter ce dont tu as besoin:

- Tu prends ton image de base
- Tu l'ouvre avec un logiciel style Paint
- Tu rajoutes ton "caption" à la main (zone de texte)
- Tu enregistres le tout
- Tu mets cette image sur ton bouton.

Dans la propriété Glyph, tu charge l'image en question.
Ensuite, pour le placement du caption, il faut jouer avec la propriété Layout (à mettre à "blGlyphLeft" dans ton cas).

@+,

Cincap

[url]mailto:/url
0
gabiset Messages postés 53 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 9 novembre 2007 1
29 juin 2007 à 16:40
Merci pour ta réponse.
Je viens de le faire, c'est super ça marche !

Delphine
0
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
29 juin 2007 à 17:20
Re bonjour à tous,

@ gabiset, voici une autre approche plus facile avec un Tbutton, à placer dans le onpaint :

procedure TForm1.FormPaint(Sender: TObject);
var
    i:integer;
begin
    i:=GetWindowLong(Button1.Handle,GWL_STYLE);
    SetWindowLong(Button1.Handle,GWL_STYLE,i or BS_MULTILINE or
BS_LEFT
    or BS_VCENTER);
    Button1.Caption:='Test à gauche';



end;

Avec ce même code tu peus aussi écrire sur deux lignes :

Button1.Caption:='Test à gauche'#13'seconde ligne';

@+,

Cincap

[url]mailto:/url
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
2 juil. 2007 à 09:18
salut,

une solution (boiteusse) si tu veux juste pousser un peu ton text a gauche: ajout des espaces à droite.

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
3 juil. 2007 à 11:01
Bonjour à tous,

@ Loda, désolé c'est plutôt ta solution qui est boiteuse, car tu es limité dans le nombre d'espaces et si tu as plusieurs Tbutton cela complique.

La dernière solution me semble justifiée et permet de fixer le texte réellement à gauche comme au milieu comme à droite et même sur deux lignes.

Juste une petite correction, il peut se mettre aussi dans le oncreate, onactivate de la fiche.

@+,

Cincap

[url]mailto:/url
0
gabiset Messages postés 53 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 9 novembre 2007 1
4 juil. 2007 à 09:10
Merci à vous deux pour ces solutions !


La solution de Loda est efficace si on n'a qu'un seul bouton (c'est nue bonne astuce), mais je préfère effectivement la dernière proposée par Cincap.

@+

Delphine
0
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
4 juil. 2007 à 13:20
Bonjour à tous,

@ gabiset, n'oublies pas de rajouter à la fin du code le refresh.

soit Button1.Refresh;

@+,

Cincap

[url]mailto:/url
0
Rejoignez-nous