如何禁止鼠标点击窗体的左上角,不弹出移动,关闭,最小化那个菜单啊!

解决方案 »

  1.   

    BorderIcons 只选[biSystemMenu]procedure TfrmMain.FormCreate(Sender: TObject);
    var
      hmMenu:HMENU;
      ms:string;
    begin
      hmMenu:=GetSystemMenu(Handle,False);
      SetLength(ms,11);
      GetMenuString(hmMenu,1,PChar(ms),10,MF_BYPOSITION);
      ms:=Trim(ms);
      ModifyMenu(hmMenu,1,MF_BYPOSITION or MF_GRAYED,0,PChar(ms));
     ......
    end;
      

  2.   


    procedure TForm1.FormCreate(Sender: TObject);
    var iMenu:THandle;
        i:integer;
    begin
      iMenu := GetSystemMenu(Handle, False);
      for i := 0 to 10 do DeleteMenu(iMenu, 0, MF_BYPOSITION);
    end;
      

  3.   

    那是操作系统默认的,设置BorderIcons或BorderStyle都不行最好的效果就是,整个标题栏都不要(BorderStyle=bsNone),另外做一个,比如用图片
    现在很多软件都很漂亮,如果再用自带的就显示格格不入的,所以都是重新做的
      

  4.   

    type
      TForm1 = class(TForm)
      private
        { Private declarations }
        procedure WMNCLButtonDown(var M: TMessage); message WM_NCLBUTTONDOWN;
        procedure WMNCRButtonDown(var M: TMessage); message WM_NCRBUTTONDOWN;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.WMNCLButtonDown(var M: TMessage);
    begin
      if M.WParam = HTSYSMENU then
        M.Result := 0
      else
        inherited;
    end;procedure TForm1.WMNCRButtonDown(var M: TMessage);
    begin
      if M.WParam = HTSYSMENU then
        M.Result := 0
      else
        inherited;
    end;
      

  5.   

    bordericons取消掉系统菜单属性