Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Zeilenumbruch der Caption von TabSheet's

  Alt 6. Jan 2005, 10:59
Hai Alex,

da wirst Du wohl selber den Text zeichnen müssen. Hier mal ein Beispiel
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  PageControl1.OwnerDraw := True;
  Pagecontrol1.TabHeight := 30;
end;

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
const
  tab_caption : Array[0..2] of String = ('blubb # miau','hallo','foo # bar');
var
  sl : TStringList;
  ndx : Integer;
  x_pos : Integer;
  y_pos : Integer;
begin
  sl := TStringList.Create;
  try
    sl.Delimiter := '#'; // Zeichen für den "Zeilenumbruch"
    sl.DelimitedText := tab_caption[tabIndex]; // Mit der TStringList aufteilen
    x_pos := rect.left + 2; // Linke Textposition
    for ndx := 0 to Pred(sl.Count) do
    begin
      y_pos := rect.Top + 2 + ((pagecontrol1.Font.Size + 5) * ndx); //Position von oben berechnen
      PageControl1.Canvas.TextOut(x_pos,y_pos,sl.Strings[ndx]); // Text ausgeben
    end;
  finally
    sl.Free;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat