Відповіді:
У System.pas (який автоматично використовується) визначено наступне:
const
sLineBreak = {$IFDEF LINUX} AnsiChar(#10) {$ENDIF}
{$IFDEF MSWINDOWS} AnsiString(#13#10) {$ENDIF};
Це з Delphi 2009 (зверніть увагу на використання AnsiChar та AnsiString). (Обертання рядків додане мною.)
Отож, якщо ви хочете зробити свою обертку TLabel, переконайтеся, що для параметра AutoSize встановлено значення true, а потім використовуйте наступний код:
label1.Caption := 'Line one'+sLineBreak+'Line two';
Працює у всіх версіях Delphi з моменту введення sLineBreak, на який я вважаю, що Delphi 6.
Або ви також можете використовувати ярлик ^ M + ^ J також. Все питання переваги. "CTRL-CHAR" коди перекладаються компілятором.
MyString := 'Hello,' + ^M + ^J + 'world!';
Ви можете забрати + проміжком між ^ M і ^ J, але тоді ви отримаєте попередження компілятора (але воно все одно буде складатись добре).
var
stlst: TStringList;
begin
Label1.Caption := 'Hello,'+sLineBreak+'world!';
Label2.Caption := 'Hello,'#13#10'world!';
Label3.Caption := 'Hello,' + chr(13) + chr(10) + 'world!';
stlst := TStringList.Create;
stlst.Add('Hello,');
stlst.Add('world!');
Label4.Caption := stlst.Text;
Label5.WordWrap := True; //Multi-line Caption
Label5.Caption := 'Hello,'^M^J'world!';
Label6.Caption := AdjustLineBreaks('Hello,'#10'world!');
{http://delphi.about.com/library/rtl/blrtlAdjustLineBreaks.htm}
end;
Платформним агностичним способом було б "sLineBreak": http://www.freepascal.org/docs-html/rtl/system/slinebreak.html
Write ('Привіт' + sLineBreak + 'Світ!');
У мене немає копії Delphi вручну, але я цілком впевнений, якщо ви встановите властивість wordwrap на true, а властивість autosize буде неправдивою, вона повинна обгортати будь-який текст, який ви вводите в розмір, на який ви створюєте мітку. Якщо ви хочете перервати рядок у певному місці, то це може спрацювати, якщо встановити вищевказані налаштування та вставити з текстового редактора .
Сподіваюся, це допомагає.
Іноді я не хочу захаращувати свій кодовий простір, особливо для статичної мітки. Щоб просто визначити його з формою, введіть текст етикетки у форму, а потім клацніть правою кнопкою миші в будь-якій частині тієї самої форми. Виберіть "Переглянути як текст". Тепер ви побачите всі об'єкти як розроблені, але лише як текст. Прокрутіть вниз або шукайте текст. Знайшовши його, відредагуйте підпис, щоб він виглядав приблизно так:
Заголовок = 'Рядок 1' # 13'Лінія 2 '# 13'Лінія 3'
# 13 означає порядковий номер 13, або ассі для повернення вагона. Chr (13) - та сама ідея, CHR () змінює число на порядковий тип.
Зверніть увагу, що в цій конкретній грані Delphi немає напівколонки, і "=" використовується, а не ": =". Текст кожного рядка укладається в окремі лапки.
Після того, як ви закінчите, ще раз клацніть правою кнопкою миші та виберіть "Переглянути як форму". Тепер ви можете виконати будь-яке форматування, наприклад, напівжирне, правильне виправдання тощо. Ви просто не зможете повторно редагувати текст у формі, або ви втратите розриви рядків.
Я також використовую "Перегляд як текст" для кількох змін, де я просто хочу прокручувати та робити заміни тощо. Швидке.
Дейв
private
{ Private declarations }
{declare a variable like this}
NewLine : string; // ok
// in next event handler assign a value to that variable (NewLine)
// like the code down
procedure TMainForm.FormCreate(Sender: TObject);
begin`enter code here`
NewLine := #10;
{Next Code To show NewLine In action}
//ShowMessage('Hello to programming with Delphi' + NewLine + 'Print New Lin now !!!!');
end;