![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вертикальный текст в popup меню. [D7, WinXP]
Thomas Brandon © (2004-08-29 17:49:00)Интересно, как делается сабж?
Thomas Brandon (2004-08-30 12:08:00) [1]Спасибо огромное, Endi :-)
Пойду пробовать...
Endi (2004-08-29 19:49:00) [2]PopupMenu1.OwnerDraw:=true;
procedure TForm1.Menu1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
var
LF:TLogFont;
F:TFont;
begin
with ACanvas do begin
Font.Name:='Arial';
Font.Size:=25;
F:=TFont.Create;
try
F.Assign(Font);
GetObject(F.Handle,sizeof(LF),@LF);
LF.lfEscapement:=900;
LF.lfOrientation:=900;
F.Handle:=CreateFontIndirect(LF);
Font.Assign(F);
finally
F.Free;
end;
TextOut(5,TextWidth('Щелкнуть здесь!'),'Щелкнуть здесь!');
end;
end;
procedure TForm1.Menu1MeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
begin
with ACanvas do begin
Font.Name:='Arial';
Font.Size:=25;
Height:=ACanvas.TextWidth('Щелкнуть здесь!')+5;
width:=ACanvas.TextHeight('Щелкнуть здесь!');
end;
end;
Что-то типа этого.
Thomas Brandon (2004-08-29 18:17:00) [3]Неужели никто не делал этого? Понимаю, что саюж предназначен для "красивости", но уж очень хочется :-)
Новичек (2004-08-29 18:10:00) [4]Хм... Действительно, интересно... Думаю, что без помощи WinAPI здесь не обойтись.