複数行の APrompt を使用しようとする場合: つまり
sPrompt := 'some text' + #13#10#10 + 'some more info...' + #13#10 +
'Blah, Blah' + #13#10#10 + 'What is your input?';
InputQuery 関数は文字列を文字列の配列として受け取り、配列内の最長の文字列に従って Form の MaxWidth を計算します。
上記の例では、InputQuery フォームは文字列の長さ (約 50 文字) によって計算されます。最長の行はそのほんの一部ですが。
その結果、非常に幅の広い InputQuery ボックスが表示され、多くの空のスペースが表示されます。とてもプロフェッショナルに見えません。
各行を保持する文字列の配列を作成しようとすると:
var saPrompt: array of string;
sInputString: String;
Begin
SetLength(saPrompt,4);
saPrompt[0] := 'some text' + #13#10#10;
saPrompt[1] := 'some more info...' + #13#10;
saPrompt[2] := 'Blah, Blah' + #13#10#10;
saPrompt[3] := 'What is your input?';
sInputString := '???';
If InputQuery('I Need Input?',saPrompt,sInputString) then
InputQuery 関数のこれらのパラメーターを取得するオーバーロード関数が存在しないため、コンパイルできません。Vcl.Dialogs Unit の Overload InputQuery 関数を見てきましたが、機能しません。
複数行のプロンプトで InputQuery 関数を使用するための正しい構文を知っている人はいますか?
Embarcadero RAD Studio XE2 - Delphi を使用しています
「役立つ」回答をお寄せいただきありがとうございます。