如何移动无边框样式?我试过在网上看,但没有。非常感谢。移动无边框样式
移动无边框样式
回答
可以拖动使用任何含有控制,包括自身的形式。
使用以下示例,您可以通过单击其画布并拖动来移动窗体。通过在面板的MouseDown事件中放置相同的代码,您可以对窗体上的面板执行相同的操作,这将允许您创建自己的伪字幕栏。
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DRAGMOVE = $F012;
begin
if Button = mbLeft then
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
end;
end;
谢谢,这段代码更好! –
如果您是指通过鼠标拖动窗口,则可以覆盖WM_NCHITTEST
消息处理并返回HTCAPTION
作为拖动区域。下面将上部30个像素内拖动窗口insance:
type
TForm1 = class(TForm)
private
protected
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
end;
..
procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
var
Pt: TPoint;
begin
Pt := ScreenToClient(SmallPointToPoint(Message.Pos));
if Pt.Y < 30 then
Message.Result := HTCAPTION
else
inherited;
end;
+1这是做这件事的方式 –
@David:最近我对这种方法有点怀疑,因为基本上,你告诉操作系统*整个窗体是窗口的标题*,实际上它可能不是实际的在语义上是真实的。 (好吧,在塞尔特克的代码中,也许前30个像素*实际上是标题,但通常情况下,这可能不是真的。) –
@andreas你有什么具体的理由来拒绝这个吗?有什么缺点?这是标准方法。 –
- 1. WPF windowstyle无边框样式
- 2. 边框样式
- 3. 移动无边距形式
- 4. NavigationMenu.ImageUrl边框样式?
- 5. XAML边框样式
- 6. 表边框样式
- 7. 移动一个没有状态栏的窗体,边框样式
- 8. 样式表边框不能在行高亮上移动?
- 9. 边框不适应列表样式:无;
- 10. jquery移动动态复选框样式
- 11. WINAPI/C++:移动无边框窗口
- 12. 无法移除的Android活动边框?
- 13. 如何移动无边框窗口?
- 14. HTML UL CSS边框样式
- 15. WPF的ListView样式边框
- 16. 带边框的HTML样式
- 17. vb.net 2010 Excel边框样式
- 18. Silverlight Dockpanel边框样式
- 19. CSS - 样式边框标题
- 20. p:panelGrid中的边框样式
- 21. 条件边框样式VB
- 22. CSS边框样式:wave
- 23. Materialisecss按钮边框样式?
- 24. VC++移动无边界形式
- 25. VC++ DHTML DIALOG移动无边界形式
- 26. Delphi fmx移动无边界形式
- 27. jquery移动复选框样式问题
- 28. 边框移动整个表
- 29. 列表框1px边框 - 默认边框 - Bd样式
- 30. 即图像的边框链接(不是样式边框固定:无)
可以是这里:http://delphi.about.com/od/windowsshellapi/a/dragnocaption.htm – philnext
[C++生成器的重复:创建具有边框bsNone TForm的一个是可移动的但是可调整大小和](http://stackoverflow.com/questions/7178030/cbuilder-create-a-tform-with-borderstyle-bsnone-that-is-needed-movable) - 该代码是为C++ Builder,但它仍然是同样的VCL!切换到Delphi应该是微不足道的。 –