把bordericons下的borderstyle设为bsNone

解决方案 »

  1.   

    窗体移动时会触发系统消息WM_WINDOWPOSCHANGING,该消息中包含有新窗体的位置,用来通知内核该窗体要发生移动,内核接收到该消息后,开始销毁该窗体并在新位置重绘。如果更改消息的内容,使窗体保持在其原来的位置,那么窗体就不会移动了。
    procedure TForm1.OnPosChange(var Msg:TWMWindowPosChanging);
    begin
    //消息的Windowpos.x部分包含新窗体的左边位置,将其改成原来窗体的左边坐标
    Msg.WindowPos.x:=form1.Left;
    //Left的完整名称为Form1.Left
    //消息的WindowsPos.y部分包含新窗体的顶部位置,将其改成原来窗体的顶部坐标
    //Top的完整名称为Form1.Top 
    Msg.WindowPos.y:=form1.top;
    Msg.Result:=0;
    end;
      

  2.   

    procedure syscommande(var msg:twmsyscommande);override;
    begin
        if msg.= THEN  //忘记了,查SDKend;
      

  3.   

    同意 Afei1(阿飞1) 的意见
      

  4.   

    procedure TForm1.OnPosChange(var Msg:TWMWindowPosChanging);
    begin
    inherited;
    Msg.Result:=0;
    end;
    一半同意Afei1(阿飞1) 
    我认为这样就可以,才可以了。
      

  5.   

    to all:
    请问到底在哪个事件中调用OnPosChange(var Msg:TWMWindowPosChanging)这个
    procedure 呢?
      

  6.   

    在Interface的TForm的声明中  TForm1 = class(Tform)
         ...
         procedure OnPosChange(var Msg:TWMWindowPosChanging); message  WM_WINDOWPOSCHANGING;
      end;Implementationprocedure TForm1.OnPosChange(var Msg:TWMWindowPosChanging);begin
      ...
    end;
      

  7.   

    procedure OnPosChange(var Msg:TWMWindowPosChanging); message  WM_WINDOWPOSCHANGING定义它为一个消息处理。只要有这个消息发给你的程序,它就会运行!