Вопрос:
Как сделать многострочную надпись на 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;

Tags: , , , , , , , ,

Дата создания: Воскресенье, июня 8, 2008 - 19:49 и находится в категории Delphi FAQ. Вы можете отслеживать ответы через RSS 2.0. Вы можете ответить.

Ответить

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