Delphi VCL风格mac外观风格设计器

Delphi VCL风格mac外观风格设计器,delphi,delphi-xe2,vcl-styles,Delphi,Delphi Xe2,Vcl Styles,最近我一直在做一些关于VCL样式的研究(Embarcadero XE2 for Delphi)。 我可以加载和设置样式,这样可以很好地工作 目前我正在探索VCL样式设计器,我试图弄清楚的是,当应用程序文本(表单标题)位于右侧时,如何将最小化、最大化、调整大小、关闭和帮助按钮移到左侧,而不是当前默认的右侧 我已经穷途末路了,希望有人能给我一些指点 因此,基本上我试图“模仿”的是Windows窗体上的Mac外观 欢迎提供任何帮助。您想要完成的与VCL样式设计器无关,您必须创建自定义表单样式挂钩 遵循

最近我一直在做一些关于VCL样式的研究(Embarcadero XE2 for Delphi)。 我可以加载和设置样式,这样可以很好地工作

目前我正在探索VCL样式设计器,我试图弄清楚的是,当应用程序文本(表单标题)位于右侧时,如何将最小化、最大化、调整大小、关闭和帮助按钮移到左侧,而不是当前默认的右侧

我已经穷途末路了,希望有人能给我一些指点

因此,基本上我试图“模仿”的是Windows窗体上的Mac外观


欢迎提供任何帮助。

您想要完成的与
VCL样式设计器无关,您必须创建自定义表单样式挂钩

遵循以下步骤

  • TFormStyleHook
    类创建(并注册)一个新的表单样式挂钩
  • 覆盖
    PaintNC
    方法以在新位置绘制标题按钮
  • 处理
    WM\u NCMOUSEMOVE
    WM\u nclubuttondown
    WM\u WM\u nclubuttonup
    消息以检测标题按钮的状态(热、按下)并启动操作(关闭、恢复、最大化、最小化)

  • 一个简单的解决方法是删除窗口边框,然后自己添加按钮。我不太清楚你的意图。你能说得更具体一点吗?我不能帮你弄清楚确切的代码,但应该可以做一些类似Window.Border.Visible=False的事情。然后你可以制作一个顶部有按钮的酒吧来制作你自己的边框。啊,好吧,我明白了。这是解决问题的一种方法。但我的主要重点是使用VCL样式设计器创建它。可惜我还没有上传图片的名声。然后我可以上传图片,这样你就可以看到到目前为止我创造的东西。也许值得重新评估一下你为什么要这么做。试图改变人们期望的行为通常是一个相当糟糕的主意。mac和windows用户经常不喜欢(并且发现很难操作)他们的对手的操作系统,这是有原因的——因为没有什么是他们所期望的,也没有做他们所期望的!如果你让一个windows应用程序看起来和感觉都像Mac应用程序,那么windows用户会因为它而憎恨你,不会想也不会喜欢使用你的应用程序。我会认真考虑的。好的,谢谢你的回答。关于embarcadero什么时候可以在那里的样式设计器中实现这样的功能,有什么想法吗?我在回答时是怎么说的,这与样式设计器无关。这可以通过一个定制的钩子来完成。我知道你的意思。并了解样式设计师的“当前限制”。但我在之前的评论中的意思是,embarcadero是否计划实现这样一个功能以使其更容易(减少编码)。