To get rid of the dependencies of resizing the form, resizing can also occur if you use, for example, splitters, you can override the CanResize event to adapt the header.
as an example:
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TLabel = Class(StdCtrls.TLabel) private FFullCaption: String; procedure SetFullname(const Value: String); published function CanResize(var NewWidth, NewHeight: Integer): Boolean; override; property FullCaption: String read FFullCaption Write SetFullname; End; TForm3 = class(TForm) FileNameLabel: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form3: TForm3; implementation uses FileCtrl; {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin FileNameLabel.FullCaption := 'C:\ADirectory\ASubDirectory\ASubSubDirectory\AFileN.ame' end; { TLabel } function TLabel.CanResize(var NewWidth, NewHeight: Integer): Boolean; begin inherited; if Assigned(Parent) then Caption := MinimizeName(FFullCaption, Canvas, NewWidth) end; procedure TLabel.SetFullname(const Value: String); begin FFullCaption := Value; Caption := MinimizeName(FFullCaption, Canvas, Width) end; end.
bummi source share