Je veux créer une chaîne qui s'étend sur plusieurs lignes à affecter à une propriété de légende d'étiquette. Comment cela se fait-il en Delphi?
Réponses
Trop de publicités?Dans le fichier System.pas (qui est automatiquement utilisé), la définition suivante est définie :
const
sLineBreak = {$IFDEF LINUX} AnsiChar(#10) {$ENDIF}
{$IFDEF MSWINDOWS} AnsiString(#13#10) {$ENDIF};
Ceci provient de Delphi 2009 (notez l'utilisation de AnsiChar et AnsiString). (Saut de ligne ajouté par moi.)
Donc, si vous voulez que votre TLabel passe à la ligne, assurez-vous que AutoSize est défini sur true, et utilisez ensuite le code suivant :
label1.Caption := 'Ligne un'+sLineBreak+'Ligne deux';
Fonctionne dans toutes les versions de Delphi depuis l'introduction de sLineBreak, je crois que c'était à partir de Delphi 6.
Ou vous pouvez également utiliser le raccourci ^M+^J. Tout est une question de préférence. Les codes "CTRL-CHAR" sont traduits par le compilateur.
MyString := 'Bonjour,' + ^M + ^J + 'monde!';
Vous pouvez supprimer le + entre ^M et ^J, mais alors vous recevrez un avertissement du compilateur (mais il compilera quand même correctement).