Главная страница | назад





Article #16754: How can I have a TBitBtn component that has a word wrapped caption?

 Question and Answer Database
FAQ1754D.txt How can I have a TBitBtn component that has a word wrapped caption?
Category :VCL
Platform :All
Product :All 32 bit
Question:
How can I have a TBitBtn component that has a word wrapped caption?
Answer:
The following example demonstrates drawing word wrapped text
directly on a TBitBtn's glyph.
Example:
procedure TForm1.FormCreate(Sender: TObject);
var
R : TRect;
N : Integer;
Buff : array[0..255] of Char;
begin
with BitBtn1 do begin
Caption := 'A really really long caption';
Glyph.Canvas.Font := Self.Font;
Glyph.Width := Width — 6;
Glyph.Height := Height — 6;
R := Bounds(0, 0, Glyph.Width, 0);
StrPCopy(Buff, Caption);
Caption := '';
DrawText(Glyph.Canvas.Handle,
Buff,
StrLen(Buff),
R,
DT_CENTER or DT_WORDBREAK or DT_CALCRECT);
OffsetRect(R,
(Glyph.Width — R.Right) div 2,
(Glyph.Height — R.Bottom) div 2);
DrawText(Glyph.Canvas.Handle,
Buff,
StrLen(Buff),
R,
DT_CENTER or DT_WORDBREAK);
end;
end;
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99