Показать сообщение отдельно
  #1  
Старый 21.06.2012, 17:17
galek galek вне форума
Прохожий
 
Регистрация: 28.04.2012
Адрес: Уфа
Сообщения: 9
Версия Delphi: XE
Репутация: 10
По умолчанию Как выровнять текст в popumenu

Что нужно добавить в код, чтобы слова в popupmenu выровнялись по левому краю при этом оставалось место для галочек слева? вот код:
Код:
procedure TfrmMainForm.N22DrawItem(Sender: TObject; ACanvas: TCanvas;
 ARect: TRect; Selected: Boolean);
 begin
 ACanvas.Font.Assign(TheMenuFont);
 if Selected then begin
   ACanvas.Font.Color := clHighlightText;
   ACanvas.Brush.Color := clHighlight;
 end else begin
   ACanvas.Font.Color := clMenuText;
   ACanvas.Brush.Color := clMenu;
 end;
 if (Sender as TMenuItem).Checked then begin
  ImageList1.Draw(ACanvas, ARect.Left+2, ARect.Top+10, 0);
 end;
    DrawText(ACanvas.Handle, pchar(TMenuItem(Sender).Caption),
    length(TMenuItem(Sender).Caption), ARect, DT_CENTER or DT_VCENTER);
end;

procedure TfrmMainForm.N22MeasureItem(Sender: TObject; ACanvas: TCanvas;
  var Width, Height: Integer);
begin
Canvas.Font.Assign(TheMenuFont);
 Width := Canvas.TextWidth(TMenuItem(Sender).Caption) + 14;
 Height := Canvas.TextHeight(TMenuItem(Sender).Caption) + 14;
end;
Ответить с цитированием