我觉得可不可以截获消息WM_SYSCOMMAND中的SC_MINIMIZE,对Form执行Hide过程

解决方案 »

  1.   

    我以前已回答过,我看了你连续提的三个问题,你是不是想做一个拖放篮窗口?
    我干脆一并回答了吧,记得给分喔。
    要让一个非主窗口不跟随主窗口最小化,可以重载该Form的CreateParams过程:
      protected
        procedure CreateParams(Var Param: TCreateParams);Override;
    ...
    procedure TForm.CreateParams(Var Param:TCreateParams);
    begin
     Inherited CreateParams(Param);
     With Param Do
     begin
       wndParent := GetDesktopWindow;   //这一句可让该窗口不随主窗口最小化
       ExStyle := ExStyle or WS_EX_TOOLWINDOW;//这一句使用该窗口不在任务栏显示
     end;end;要模拟拖动标题栏的动作有很多方法,试试这个:
    protected
        procedure WMLBUTTONDOWN(Var Message: TWMLBUTTONDOWN);Message WM_LBUTTONDOWN;
    ...
    procedure Tform1.WMLBUTTONDOWN(Var Message: TWMLBUTTONDOWN);
    begin
    PostMessage(Handle,WM_NCLBUTTONDOWN,HTCAPTION,MakeLParam(Message.XPos,Message.YPos));end;