gpt4 book ai didi

delphi - 如何将vcl组件放在顶部的窗体边框中?

转载 作者:行者123 更新时间:2023-12-03 18:42:08 24 4
gpt4 key购买 nike

我想像此屏幕截图一样将组件放在窗体顶部的边框中。



我在项目中输入了TPageControl,我想将其移至边框的顶部。我怎样才能做到这一点?

最佳答案

应该注意的是Microsoft highly suggests against doing such a thing。就是说,请记住,窗口的设计实际上反指示在非客户区中放置任何类型的“控件”。也就是说,您可以通过查看事件中的the code posted here来轻松查看。从字面上讲,您必须自己绘画新的“控件”,然后通过所有非客户区域消息拦截“特殊”控件,以解决这些问题。

TTitleBtnForm = class(TForm)
procedure FormResize(Sender: TObject);
private
TitleButton : TRect;
procedure DrawTitleButton;
{Paint-related messages}
procedure WMSetText(var Msg : TWMSetText); message WM_SETTEXT;
procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
procedure WMNCActivate(var Msg : TWMNCActivate); message WM_NCACTIVATE;
{Mouse down-related messages}
procedure WMNCHitTest(var Msg : TWMNCHitTest); message WM_NCHITTEST;
procedure WMNCLButtonDown(var Msg : TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
function GetVerInfo : DWORD;
end;


通过发布整个内容,我不会对拥有网站内容的人造成损害,但是您很快就会发现,将非客户区域弄乱是不明智的。

另一方面,请记住,您发布的所有示例都是带皮肤的窗口,这意味着标准窗口已重新构架,并带有指示所需内容的新控件。在这种情况下,只要提供所有预期的功能,您就可以做任何您想做的事情。首先,将BorderStyle设置为bsNone,然后将控件填充到表单的尺寸,以免出现尴尬的间隙。这是我做的一个非常简单的例子。当然,您可以更改颜色并添加关闭/最小化/最大化按钮以及任何您喜欢的按钮。



希望对大家有帮助。

关于delphi - 如何将vcl组件放在顶部的窗体边框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com