procedure TForm1.MenuItem1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; AState: TOwnerDrawState);
var
s: string;
begin
ACanvas.Font.Color := clYellow;
ACanvas.Brush.Color := clBlack;
ACanvas.Rectangle(ARect);
s := (Sender as TMenuItem).Caption;
ACanvas.FillRect(ARect);
ACanvas.TextRect(ARect, ARect.Left+2, ARect.Top+2,s);
end;
procedure TForm1.MenuItem1MeasureItem(Sender: TObject; ACanvas: TCanvas;
var AWidth, AHeight: Integer);
begin
ACanvas.Font.Name := 'Liberation Mono';
ACanvas.Font.Size := 12;
AWidth := ACanvas.TextWidth(TMenuItem(Sender).Caption);
AHeight := ACanvas.TextHeight('Tg');
end;