Moin, Moin,
wieso soll der Text nach "oben wandern"? Der RadioButton mittig vor dem mehrzeiligen Text ist doch nicht übel anzusehen?
Übrigens, eine Alternative ist natürlich, eine eigene Komponente vom RadioButton abzuleiten, die WordWrap implementiert. Ich persönlich nutze die RadioGroup nicht, sondern stelle das lieber selber zusammen - da habe ich mehr "optische Gestaltungsfreiheit".
Die eigene Komponente ist mit wenigen Zeilen erstellt:
Delphi-Quellcode:
.
..
...
TWWRadiobutton = class(TRadioButton)
private
FWordWrap : Boolean;
procedure SetWordWrap(Value:Boolean);
protected
procedure CreateParams(var Params:TCreateParams); override;
public
constructor Create(AOwner:TComponent); override;
published
property WordWrap : Boolean read FWordWrap write SetWordWrap default true;
end;
...
...
constructor TWWRadiobutton.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
FWordWrap:=true;
end;
procedure TWWRadiobutton.SetWordWrap(Value:Boolean);
begin
if (FWordWrap<>Value) then begin
FWordWrap:=Value;
ReCreateWnd;
end;
end;
procedure TWWRadiobutton.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
{$Warnings Off}
if FWordWrap then Params.Style:=Params.Style or BS_MULTILINE or BS_TOP
else Params.Style:=Params.Style and not BS_MULTILINE or not BS_TOP;
{$Warnings On}
end;
procedure Register;
begin
RegisterComponents('~~~',[TWWRadiobutton]);
end;
end.
Nach gleichem Schema kannst du auch z.B. die CheckBox oder den Button "mit WordWrap" versehen...
Gruß
Ralph