分享

Delphi:实现无边界窗体的移动

 jojo1981 2013-11-27
在用Delphi制作Windows程序的窗体时,窗体的边界有四种选择:
对话框式(bsDialog)
单边固定式(bsSingle)
双边可变式(bsSizeable)
无边界式(bsNone)。
当设置为bsNone时,窗体也就没有标题条,很显然,程序运行以后就无法移动窗体了。
但是有时候既需要设置无边框窗体,还需要移动窗体的位置。比如:我做了一个程序,为了美化界面,我用了一张图片images作为窗体的背景。载入图片的组件名字为image1。我将form1de Borderstyle设置为bsnone。我还需要拖动窗体来移动窗口的位置。
解决办法:在image1组件的onMouseDown事件中加入以下代码:

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);
begin
  if (ssleft in shift) then
  begin
    releasecapture;
    perform(wm_syscommand, $f012, 0);
  end;
end;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多