各位好:
     我现在有一个和棘手的问题。我建了个公用模板的窗体。不能有有窗体标题,
  而其他的窗体必须继承在这个窗体上。我样来拖动这个窗体,而且其他继承的窗体也能拖动。谢谢!

解决方案 »

  1.   

    通过消息的转换可以实现移动无标题栏窗口。当鼠标移动、按下或释放时,会产
    生WM_NCHITTEST消息,当检测到鼠标在窗体中按下的消息(消息值为htClient)时
    ,将鼠标在标题栏上按下的消息(消息值为htCaption)发出,这样就可以拖动窗体
    了。在Form1的private部分声明过程和WM_NCHITTEST消息:type
     TForm1 = class(TForm)
     private
     { Private declarations }
     procedure WMNChitTest(var Msg:TWMNChitTest) ;
     Message WM_NCHITTEST;
     . . .procedure TForm1.WMNChitTest(var Msg: TWMNChitTest) ;
    begin
     inherited;
     if Msg.Result = htClient then
     Msg.Result:= htCaption; // 消息转换
    end;
      

  2.   

    我这样做过,但只能拖动一个form而下面的FORM不能操作。还有其他的办法吗?
      

  3.   

    1 方法一 你参考forms 单元下的
    function TCustomForm.ShowModal: Integer;函数
    可以实现你要的效果
    2。你用第三方控件 ,比如用fcimageform 她是Woll2Woll公司的产品
    窗口可以只有客户区,并且可以拖动,你直接用showmodal 应该是可以的
      

  4.   

    你可以尝试一下
      当这个窗口show的时候,用循环的方法屏蔽其它窗口的响应消息(好像showmoda就是这么搞的),当关闭的时候在解除屏蔽
      

  5.   

    是这样的,我的主窗体上采用了,Image作为按钮;采用你上面的方法,只能
    拖动当前窗体,而主窗体上一切组件不能用。why?