|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Bonjours a tous
Il y a quelques temps j'avais poste sur le sujet, mes recherches non pas apportees de reponses satisfaisantes, pour mes besoins j'ai repris mes recherches cette fois ci avec un oeuil neuf, je peux ecrire sur le Canvas de plusieurs composants verticalement le .cpp Code :
Etrangement je n'ai pas reussi pour un TLabel, mais je continue a chercher
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Pour ecrire sur un TLabel verticalement il faut mettre AutoSize a false
Code :
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
||
|
|
00
|
|
|
#3 | ||
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
J'ai reussi a ecrire verticalement dans un TEdit
Code :
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Avez vous teste le code
Quand pensez vous Avez vous apporte des modifications
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 172 ![]() |
Peux comparer avec ce code C++ que j'ai posté dans la section Delphi : Delphi7 texte Vertical qui doit fonctionner avec n'importe quel TWinControl comme Control, c'était un code spécifique pour dessiner des onglets mais c'est facilement adaptable comme ci-dessus pour une TPaintBox
Code :
- soit les lettres ont leur propre angle et le texte un autre angle, pour ton cas de lettres écrites les une en dessous des autres, ça doit être un angle une lfOrientation de 0 et lfEscapement -900), ton code doit être similaire de écrire verticalement dans une cellule stringgrid où j'avais honteusement triché pour écrire les libellés trop long sur deux colonnes ! - soit les lettres suivent l'angle du texte (si pas GM_ADVANCED), comme juste lfEscapement est pris en compte, lfOrientation reste à zéro mais c'est comme si sa valeur était égale à celle de lfEscapement En mode GM_ADVANCED, il ne faut pas utiliser DT_VCENTER, il calcule n'importe quoi, c'est bien pour la démo, DT_TOP serait parfait ! Donc pour un lfOrientation de 0 et lfEscapement à -900) il faut jouer sur l'alignement, je te conseille Code :
... DT_NOCLIP | DT_SINGLELINE | DT_TOP | DT_CENTER); Essaye d'autre valeur, tu verras que cela déborde du Rectangle ! Sinon MidStr, c'est un peu lourd sachant que la String fourni un opérateur [] pour accéder à un caractère !
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
||
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Salut ShaiLeTroll
Merci pour tes reponses, il y a beaucoup de code a digerer et a adapter. Il y a une solution qui se trouve dans Trucs et Astuces pour C++ Builder de CGI, mais c'est comme si on ecrivait sur une planche et qu'on tourne cette planche, l'ecriture n'est pas vraiement comme je le voulais, de plus la polices doit etre True Type. J'avais fait l'essai avec un StringGrid pour gerer le redimensionnement sur plusieurs colonnes. La methode decrite n'utilise rien d'autre que le composant sur lequel on ecrit, c'est sur ca ne gere pas l'ecriture sur plusieurs colonne. Peut tu m'en dire plus sur Citation:
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
|
|
|
00
|
|
|
#7 | |||||||
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 9 172 ![]() |
Citation:
Code :
Citation:
Pour que GM_ADVANCED soit disponible fort probable que le True Type soit requis ! Citation:
Sinon pour opérateur [], je suppose que tu ironises ![]() Code :
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié ! |
|||||||
|
|
00
|
|
|
#8 | |
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Citation:
Pour ton code je vais tester dans la semaine. Je pense que je vais rester sur le code que j'ai ecrit, il est court il reste juste a calculer les hauteur des boites de dialogue
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
|
|
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Voici le code pour ecrire verticalement sur plusieurs composant, l'ecriture multiligne n'est pas geree, ce n'est qu'une base de depart
le .cpp Code :
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() ![]() Inscription : juin 2002 Messages : 1 342 ![]() |
Salut !
Pour un label (qui affiche en MULTILINE), l'astuce passe aussi par modifier le texte en insérant des \n. Donc une fois fait, ce n'est plus à gérer (tant que le texte n'est pas modifié): Code :
A plus ! |
||
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : mars 2006 Messages : 2 619 ![]() |
Salut henderson
Merci pour ta reponse. C'est une autre facon de proceder qui est aussi interessante
__________________
-- Plutot que d'essayer de réinventer la roue, apprenons à nous en servir.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com