|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как выровнять текст в 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; Последний раз редактировалось Aristarh Dark, 21.06.2012 в 17:23. |
#2
|
|||
|
|||
Подозреваю, что тут:
Код:
DrawText(ACanvas.Handle, pchar(TMenuItem(Sender).Caption), length(TMenuItem(Sender).Caption), ARect, DT_LEFT or DT_VCENTER); |