Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Вертикальный текст в popup меню.   Найти похожие ветки 

 
Thomas Brandon   (2004-08-29 17:49) [0]

Интересно, как делается сабж?


 
Новичек   (2004-08-29 18:10) [1]

Хм... Действительно, интересно... Думаю, что без помощи WinAPI здесь не обойтись.


 
Thomas Brandon   (2004-08-29 18:17) [2]

Неужели никто не делал этого? Понимаю, что саюж предназначен для "красивости", но уж очень хочется :-)


 
Endi   (2004-08-29 19:49) [3]

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-30 12:08) [4]

Спасибо огромное, Endi :-)
Пойду пробовать...



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
3-1092680067
_Dragon
2004-08-16 22:14
2004.09.12
Обновление записей


1-1093240722
[BAD]Angel
2004-08-23 09:58
2004.09.12
Как вывести текст на рабочий стол чтобы он не затирался окнами?


1-1093858252
XAdmin
2004-08-30 13:30
2004.09.12
Видимиость пользоваетльского типа из дургого Unit


1-1093506999
SPy
2004-08-26 11:56
2004.09.12
TShellListView - стандартное popupmenu


3-1092521194
Fantasy
2004-08-15 02:06
2004.09.12
DATA