在用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; |
|