Главная страница
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.022 c
8-1088146420
0rg
2004-06-25 10:53
2004.09.12
Синхронное проигрывание звука


1-1093768593
Islander
2004-08-29 12:36
2004.09.12
Как считать данные из xls-файла в массив?


1-1093405354
COOLer
2004-08-25 07:42
2004.09.12
DataSet to XML


9-1084857336
delin
2004-05-18 09:15
2004.09.12
Отобразить движение самолета + радар в центре экрана


4-1091186612
Lukin
2004-07-30 15:23
2004.09.12
Рисование курсора мыши в произвольном месте