請可以答答我嗎?

解决方案 »

  1.   

    设置成true就可以啊。确定看到的是放了控件的窗体吗
      

  2.   

    你在設計期看到效果,应该没有问题,我想你可以换一个最新版本试试看
    Good luck
      

  3.   

    设置Active:=true设计期就能看到效果了啊,不会吧,我只有运行后才看到效果
      

  4.   

    呵呵,设计期是看不到效果的啊,只在运行时才有啊...
    ACTIVE:=TRUE;
      

  5.   

    将前两个属性改成True
    好象是Active和AutoDectet吧,记不清了
      

  6.   

    把XPMENU放到窗体上,XPMENU.ACTIVE:=TRUE;就行了
      

  7.   

    DIY自己的Menu:
    //////////////////////////////////////////////////////////////
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Menus, StdCtrls, ImgList, ShellApi;type
      TForm1 = class(TForm)
        Memo1: TMemo;
        PopupMenu1: TPopupMenu;
        mnuBold: TMenuItem;
        mnuItalic: TMenuItem;
        mnuUnderline: TMenuItem;
        N1: TMenuItem;
        mnuGoDelphi: TMenuItem;
        mnuNewsletter: TMenuItem;
        mnuForum: TMenuItem;
        ImageList1: TImageList;
        procedure mnuBoldDrawItem(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; Selected: Boolean);
        procedure mnuItalicDrawItem(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; Selected: Boolean);
        procedure mnuUnderlineDrawItem(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; Selected: Boolean);
        procedure mnuBoldMeasureItem(Sender: TObject; ACanvas: TCanvas;
          var Width, Height: Integer);
        procedure mnuGoDelphiDrawItem(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; Selected: Boolean);
        procedure mnuNewsletterDrawItem(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; Selected: Boolean);
        procedure mnuForumDrawItem(Sender: TObject; ACanvas: TCanvas;
          ARect: TRect; Selected: Boolean);
        procedure mnuBoldClick(Sender: TObject);
        procedure mnuItalicClick(Sender: TObject);
        procedure mnuUnderlineClick(Sender: TObject);
        procedure mnuGoDelphiClick(Sender: TObject);
        procedure mnuNewsletterClick(Sender: TObject);
        procedure mnuForumClick(Sender: TObject);
      private
        procedure DrawItemText(X: integer;ACanvas: TCanvas;ARect: TRect;Text: string);
        procedure DrawBar(ACanvas: TCanvas);
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.DrawBar(ACanvas: TCanvas);
    var
      lf : TLogFont;
      tf : TFont;
    begin
      with ACanvas do begin
        Brush.Color := clGray;
        FillRect(Rect(0,0,20,150));
        Font.Name := 'Tahoma';
        Font.Style := Font.Style + [fsBold];
        Font.Color := clWhite;
        tf := TFont.Create;
        try
          tf.Assign(Font);
          GetObject(tf.Handle, sizeof(lf), @lf);
          lf.lfEscapement := 900;
          lf.lfHeight := Font.Height - 2;
          tf.Handle := CreateFontIndirect(lf);
          Font.Assign(tf);
        finally
          tf.Free;
        end;
        TextOut(2, 115, 'delphi.about.com');
      end;
    end;procedure TForm1.DrawItemText(X: integer;ACanvas: TCanvas;ARect: TRect;Text: string);
    begin
     ARect.Left := X;
     DrawText(ACanvas.Handle, PChar(Text), -1, ARect, DT_LEFT or DT_VCENTER or DT_SINGLELINE or DT_NOCLIP);
    end;procedure TForm1.mnuBoldDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    var
     ImgID: integer;
    begin if Selected then
       ACanvas.Brush.Color := clHighlight
     else
       ACanvas.Brush.Color := clMenu; ARect.Left := 20;
     ACanvas.FillRect(ARect); if mnuBold.Checked then
       ImgID := 1
     else
       ImgID := 0; ImageList1.Draw(ACanvas,22,ARect.Top + 2,ImgID); ACanvas.Font.Style := [fsBold];
     DrawItemText(45,ACanvas,ARect,'Bold');
    end;procedure TForm1.mnuItalicDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    var
     ImgID: integer;
    begin if Selected then
       ACanvas.Brush.Color := clHighlight
     else
       ACanvas.Brush.Color := clMenu; ARect.Left := 20;
     ACanvas.FillRect(ARect); if mnuItalic.Checked then
       ImgID := 1
     else
       ImgID := 0;
     ImageList1.Draw(ACanvas,22,ARect.Top + 2,ImgID); ACanvas.Font.Style := [fsItalic];
     DrawItemText(45,ACanvas,ARect,'Italic');
    end;procedure TForm1.mnuUnderlineDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    var
     ImgID: integer;
    begin if Selected then
       ACanvas.Brush.Color := clHighlight
     else
       ACanvas.Brush.Color := clMenu; ARect.Left := 20;
     ACanvas.FillRect(ARect); if mnuUnderline.Checked then
       ImgID := 1
     else
       ImgID := 0;
     ImageList1.Draw(ACanvas,22,ARect.Top + 2,ImgID); ACanvas.Font.Style := [fsUnderline];
     DrawItemText(45,ACanvas,ARect,'Underline');
    end;procedure TForm1.mnuBoldMeasureItem(Sender: TObject; ACanvas: TCanvas;
      var Width, Height: Integer);
    begin
     Width := 140;
    end;procedure TForm1.mnuGoDelphiDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    begin if Selected then
       ACanvas.Brush.Color := clHighlight
     else
       ACanvas.Brush.Color := clMenu; ARect.Left := 20;
     ACanvas.FillRect(ARect);
     ACanvas.Font.Color := clGreen;
     DrawItemText(45,ACanvas,ARect,'Go delphi.about.com');
     ACanvas.Brush.Color := clGreen;
     ACanvas.Rectangle(ARect.Left + 2,ARect.Top + 1,ARect.Left + 22,ARect.Bottom - 1);
     ImageList1.Draw(ACanvas,24,ARect.Top + 2,mnuGoDelphi.ImageIndex);
    end;procedure TForm1.mnuNewsletterDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    begin
     if Selected then
       ACanvas.Brush.Color := clHighlight
     else
       ACanvas.Brush.Color := clMenu; ARect.Left := 20;
     ACanvas.FillRect(ARect);
     ACanvas.Font.Color := clBlue;
     DrawItemText(45,ACanvas,ARect,'Get free Newsletter');
     ACanvas.Brush.Color := clBlue;
     ACanvas.Rectangle(ARect.Left + 2,ARect.Top + 1,ARect.Left + 22,ARect.Bottom - 1);
     ImageList1.Draw(ACanvas,24,ARect.Top + 2,mnuNewsletter.ImageIndex);  //when all the menu items are drawn we draw the 'delphi.about.com' bar
     DrawBar(ACanvas);
    end;procedure TForm1.mnuForumDrawItem(Sender: TObject; ACanvas: TCanvas;
      ARect: TRect; Selected: Boolean);
    begin if Selected then
       ACanvas.Brush.Color := clHighlight
     else
       ACanvas.Brush.Color := clMenu; ARect.Left := 20;
     ACanvas.FillRect(ARect);
     ACanvas.Font.Color := clRed;
     DrawItemText(45,ACanvas,ARect,'Discuss in Forum');
     ACanvas.Brush.Color := clRed;
     ACanvas.Rectangle(ARect.Left + 2,ARect.Top + 1,ARect.Left + 22,ARect.Bottom - 1);
     ImageList1.Draw(ACanvas,24,ARect.Top + 2,mnuForum.ImageIndex);
    end;procedure TForm1.mnuBoldClick(Sender: TObject);
    begin
     mnuBold.Checked := not mnuBold.Checked; if mnuBold.Checked then
       Memo1.Font.Style := Memo1.Font.Style + [fsBold]
     else
       Memo1.Font.Style := Memo1.Font.Style - [fsBold];
    end;procedure TForm1.mnuItalicClick(Sender: TObject);
    begin
     mnuItalic.Checked := not mnuItalic.Checked; if mnuItalic.Checked then
       Memo1.Font.Style := Memo1.Font.Style + [fsItalic]
     else
       Memo1.Font.Style := Memo1.Font.Style - [fsItalic];
    end;procedure TForm1.mnuUnderlineClick(Sender: TObject);
    begin
     mnuUnderline.Checked := not mnuUnderline.Checked; if mnuUnderline.Checked then
       Memo1.Font.Style := Memo1.Font.Style + [fsUnderline]
     else
       Memo1.Font.Style := Memo1.Font.Style - [fsUnderline];
    end;procedure TForm1.mnuForumClick(Sender: TObject);
    begin
     ShellExecute(Handle, 'open', 'http://delphi.about.com/mpboards.htm',nil,nil, SW_SHOWNORMAL);
    end;procedure TForm1.mnuGoDelphiClick(Sender: TObject);
    begin
     ShellExecute(Handle, 'open', 'http://delphi.about.com',nil,nil, SW_SHOWNORMAL);
    end;procedure TForm1.mnuNewsletterClick(Sender: TObject);
    begin
     ShellExecute(Handle, 'open', 'http://delphi.about.com/library/blnewsletter.htm',nil,nil, SW_SHOWNORMAL);
    end;end.
      

  8.   

    啊~~~Object Inspector上的東西我都搞過啦~~~只能在設計期上可以見到效果..不信我上傳一圖~~~請問哪裏有空間...
      

  9.   

    噢...可能真是搞錯了些設置...可以了..thx