Geht es schief. An der Stelle wird zwar ein Zeilenumbruch gemacht, aber es wird zusätzlich noch ein Zeilenumbruch am Ende des Fensters gemacht. Probier es aus (mein Chef will unbedingt diesen Text haben):
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
const Frage='Select the device variant.'+#13#10+
'==============='+#13#10#13#10+
'1 - UPS with compact powerblock'+#13#10+
' TempSensors R1.1 / R2.1 / R3.1 on REC - R4.1 / R5.1 / R6.1 on INV'+#13#10#13#10+
'2 - UPS with high powerblocks'#13#10+
' TempSensors R1,1 / R1.2 / R2.1 / R2.2 / R3.1 / R3.2 on REC - R4.2 / R5.2 / R6.2 on INV'+#13#10#13#10+
'3 - UPS with high powerblocks'+#13#10+
' TempSensors R1.1 / R1.2 / R2.1 / R2.2 / R3.1 / R3.2 on REC - R4.1 / R4.3 / R5.1 / R5.3 / R6.1 / R6.3 on INV'+#13#10#13#10;
begin
MessageBox(0, Frage, 'Test', MB_ICONWARNING or MB_OK);
InputBox(Application.Title,Frage,'');
end;
Messagebox zeigt es zumindest unter XP vernünftig formatiert an (Unter Windows 7 ist es ein bischen verschoben).
Inputbox bricht aber schon vorher den Text um.
Dabei habe ich noch ein interessantes Phänomen entdeckt. Compiliere ich das unter XE2 kann man die Inputbox gar nicht mehr erkennen. Da scheint Embarcadero einiges verändert zu haben. Könnte das einer mal mit XE testen ? (Bis Delphi 2010 funktioniert es richtig)
Mich interessiert jetzt einfach die Lösung des Problems, ich denke aber für meine eigentlich eigentliche Anwendung werde ich eher auf einen Nachbau des Win 7 Standarddialoges (mit Optionsauswahl) zurückgreifen