.如何做出像东方快车,金山快译那样没有标题栏,没有最大,最小,关闭按钮,却可以随意移动,谢谢。

解决方案 »

  1.   

    procedure WMHitTest (var Msg: TWMNCHitTest);message WM_NCHITTEST;procedure TForm.WMHitTest(var Msg: TWMNCHitTest);
    var
      pt:TPoint;
    begin
      inherited;
      pt:=Point(Msg.xPos,Msg.yPos);
      pt:=ScreenToClient(pt);
      if (Msg.result = HTCLIENT) and (pt.Y <= 25) then Msg.Result := HTCAPTION;
    end;
      

  2.   

    修改FORM的BORDERSTYLE属性就可以了
      

  3.   

    给你一段代码,我就是用这段代码实现你说的功能的
    procedure TForm1.WMLButtonDown(var Msg:TMessage);
    begin
      SendMessage(Application.MainForm.Handle,WM_NCLButtonDown,HTCaption,0);
      Click;
    end;
    procedure TForm1.CMMouseLeave(var Msg:TMessage);
    begin
      inherited;
      if not Form1.Focused then
      Form1.Width := 2
    end;
    你试一试
      

  4.   

    对了还要将Form的Borderstyle 设为bsnone
      

  5.   

    先设置Borderstyle
    TYPE
    procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;
    ........
     实现部分
    procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
    begin
    inherited; { 调用默认的事件处理程序 }
    if M.Result = htClient then M.Result := htCaption;
    {如果是在Client区让Windows认为是在Caption区 }
    end;
      

  6.   

    将form的BORDERSTYLE属性为BLNONE
    然后在MOUSEDOWN事件中加入代码
    代码为当鼠标按下时向WINDOWS送出标题栏被按下的消息就可以了
    具体代码看一看API就知道了
      

  7.   

    喂,我得代码就可以了,知道以前有一个软件叫我得助手吗
    当你鼠标离开界面时,那个界面就会自动变小,这个就是那个程序其中一段代码(delphi)
    给分吧
      

  8.   

    手边刚好有一个,哈哈。
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
         procedure WMNChit(var msg:TWMNChitTest);
         Message WM_NChitTest;
      public
        procedure CreateParams(var Params:TCreateParams);override;
      end;var
      Form1: TForm1;implementation{$R *.DFM}{ TForm1 }procedure TForm1.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      params.Style:=(params.Style or Ws_popup) and not ws_caption;
    end;procedure TForm1.WMNChit(var msg: TWMNChitTest);
    begin
       inherited;
       if Msg.Result=htClient then
       Msg.Result:=htCaption;
    end;
    end.