Использование Delphi XE2 в 64-разрядной версии Win 7 для создания 32-разрядного приложения ...
В Delphi 6 мы использовали символ табуляции в сообщении для создания красивого многострочного двухстрочного диалогового окна.
str := 'Left item:' + #9#9 + 'Right Item' + #13#10 +
'Next left item: + #9 + 'Next Right Item' + ...
if MessageDlg(str, mtConfirmation,[mbYes,mbNo],0) = mrYES then...
Это создает аккуратно выстроенный список данных для просмотра пользователем без необходимости настраиваемой формы просто для того, чтобы задать этот конкретный вопрос.Правый столбец хорошо выровнен и облегчает четкое представление данных.
В Delphi XE2 символы табуляции (# 9), встроенные в строку, полностью игнорируются, и вообще отсутствует пробел.Использование # 32 создает пробел, но не выравнивается как символ табуляции (# 9).Я сталкиваюсь с какой-то проблемой Unicode?
Есть ли какие-либо предложения, чтобы вернуть это форматирование, кроме использования пользовательской формы?
Приветствия!
РЕДАКТИРОВАТЬ:
Конечно, после того, как я опубликую вопрос, я придумываю несколько разных способов.
Во-первых, использование Application.MessageBox () поддерживает интервал между символами табуляции.
Во-вторых, как ни странно, этоПриведенный ниже код работает и поддерживает надлежащий пробел с символами табуляции.
procedure TForm1.Button1Click(Sender: TObject);
var AMsgDialog : TForm;
var str : string;
begin
str := 'Left item:' + #9#9 + 'Right Item' + #13#10 +
'Next left item:' + #9#9 + 'Next Right Item';
AMsgDialog := CreateMessageDialog(str, mtConfirmation,[mbYes,mbNo],0);
try
if AMsgDialog.ShowModal = mrYES then begin
//do something
end;
finally
AMsgDialog.Release;
end;
end;
Не уверен, почему создание диалога сообщений таким способом будет поддерживать интервал между символами табуляции, если старый способ не будет.
Я знаю, что та же функция CreateMessageDialog срабатывает, когда я вызываю MessageDlg (), поэтому должно быть что-то среднее между удалением символов табуляции.Я не смог отследить код, чтобы выяснить, что убирает символы табуляции.
Надеюсь, это поможет кому-то другому.