Как сделать многострочную надпись на TBitBtn?

Вопрос:
Как сделать многострочную надпись на TBitBtn?
Ответ:
Выводите текст надписи непосредственно на "glyph" TBitBtn'а. См. пример.

Пример:

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;

Комментариев Нет.

Написать Ответ

Вы должны войти чтобы оставить комментарий.