Главная страница
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.028 c
3-1092899727
Uran
2004-08-19 11:15
2004.09.12
Проблеммы с кодировкой


14-1093350435
Sir John
2004-08-24 16:27
2004.09.12
Продам принтер


4-1091094354
Егор_С
2004-07-29 13:45
2004.09.12
Появление формы поверх всех приложений


14-1093261320
onix
2004-08-23 15:42
2004.09.12
Русские буквы


3-1092810724
Belkova
2004-08-18 10:32
2004.09.12
Первичный ключ