Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#12

Re: WordWrap für RadioGroup?

  Alt 9. Jan 2008, 00:03
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
Ralph
  Mit Zitat antworten Zitat