unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, jpeg;type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N4AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; State: TOwnerDrawState);
    procedure N5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;
  Mbitmap:Tbitmap;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
Mbitmap:=Tbitmap.Create;
mbitmap.LoadFromFile('2.bmp');
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mbitmap.Free;
end;procedure TForm1.N4AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; State: TOwnerDrawState);
var
  Mrect:Trect;
begin
  acanvas.TextWidth(TMenuItem(Sender).Caption);
  mrect:= rect(0,0,mbitmap.Width,mbitmap.Height);
  acanvas.Draw(arect.Left,arect.Top-arect.Bottom,mbitmap);
  acanvas.TextRect(rect(arect.Left+mbitmap.Width+2,arect.Top,arect.Right,arect.Bottom),arect.Left+mbitmap.Width+2,arect.Top+3,TMenuItem(Sender).Caption);
  setbkmode(acanvas.Handle,TRANSPARENT);
  DrawText(acanvas.Handle,'我'+#13+'的'+#13+'菜'+#13+'单',-1,mrect,DT_LEFT+DT_Center);
end;procedure TForm1.N5Click(Sender: TObject);
begin
  Close;
end;end.
从参考书中看到代码如下,但是功能不完善。
问题:
1  现在只有第一列菜单显示了图片,而且如果增加了菜单项,增加部分就没有图片显示了。2  现在的想法是能够让每一列菜单都有这个图片显示,而且最好能做到office2003效果那样的效果。请高手解答一下。谢谢!