Главная страница
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.041 c
1-1093595367
Lera
2004-08-27 12:29
2004.09.12
Формы.


14-1093016029
Сергей Г
2004-08-20 19:33
2004.09.12
Загадки


1-1093417806
Рамиль
2004-08-25 11:10
2004.09.12
Перехват максимизации окна


14-1093349790
Суслик
2004-08-24 16:16
2004.09.12
XML и MS Excel.


11-1079333601
M5
2004-03-15 09:53
2004.09.12
Как работать со списками List и StrListEx?