Что нужно добавить в код, чтобы слова в 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;