Bonjour à toutes et à tous,
Existe t'il une astuce simple pour régler le texte a gauche pour le caption d'un Tbutton ?
Si je n'utilise pas de skin (Vclskin) il y a moyen mais avec le skin non.
Merci si il existe une solution.
@+,
cincap
Bonjour à toutes et à tous,
Existe t'il une astuce simple pour régler le texte a gauche pour le caption d'un Tbutton ?
Si je n'utilise pas de skin (Vclskin) il y a moyen mais avec le skin non.
Merci si il existe une solution.
@+,
cincap
Bonjour cincap,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure TForm1.FormCreate(Sender: TObject); var Style: LongInt; begin // BS_LEFT Style := GetWindowLong(Button1.Handle, GWL_STYLE); SetWindowLong(Button1.Handle, GWL_STYLE, Style or BS_LEFT); SendMessage(Button1.Handle, BM_SETSTYLE, BS_LEFT, MAKELPARAM(1, 0)); InvalidateRect(Button1.Handle, nil, True); // BS_RIGHT Style := GetWindowLong(Button2.Handle, GWL_STYLE); SetWindowLong(Button2.Handle, GWL_STYLE, Style or BS_RIGHT); SendMessage(Button2.Handle, BM_SETSTYLE, BS_RIGHT, MAKELPARAM(1, 0)); InvalidateRect(Button2.Handle, nil, True); end;![]()
Vous ne pouvez pas faire confiance à un code que vous n'avez pas totalement rédigé vous-même.
Ce n’est pas un bogue - c’est une fonctionnalité non documentée.
Bonjour à toutes et à tous,
@ XeGregory, merci de ta réponse, je connaissais ce code que j'avais testé :
Mais j'avais cité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var defstyle: dWord; begin defstyle := GetWindowLong(Brefresh.Handle, GWL_STYLE); SetWindowLong(Brefresh.Handle, GWL_STYLE, defstyle or BS_LEFT);
C'est donc le même résultat avec ta solution.Si je n'utilise pas de skin (Vclskin) il y a moyen mais avec le skin non.
Le seul moyen que j'ai testé et qui est non conventionnel c'est de placer des espaces après le texte pour le caption à gauche et avant le texte pour le caption à droite (voir photo).
Merci à tous je vais fermer ce topic car étant donné que Skin veut dire peau je pense que son utilisation contredit le code.
@+,
cincap
Salut
A priori pour les vclSkin c'est une methode Drawcontrol qu'il faut redefinir
il faut faire un "hack" de ton button
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag :resolu:
@ anapurna, merci de ton retour d'information, mais je dois te l'avouer je ne me sent pas capable de le faire.
Je vais me contenter de ma solution simpliste surtout que ce n'est que pour cette application.
Bonne journée à toutes et à tous,
@+,
cincap
salut
j'ai pas bien compris ton probleme
tu veux deplacer l'ecriture (le caption du boutton) selon
que tu le met a gauche ou a droite ?
pour reduire la zone de travail tu as la procedure inflateRect
pour ecrire le texte a doite ou a gauche tu as DrawText ou TextOut au choix
apres mettre un image sur un tbutton alors qu'il existe deja un TBitBtn je vois pas trop l'interet
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag :resolu:
Partager