【问题标题】:Change the color of the border of a text box in NSIS Graphical Installer在 NSIS 图形安装程序中更改文本框的边框颜色
【发布时间】:2021-09-10 14:01:40
【问题描述】:

我正在尝试更改 NSIS 中文本框的边框颜色。 这会改变文本框和字体的背景:

    SetCtlColors $varPageUserDetails.TextBoxEmail  0x48ffd5 0x0e2a47

这对文本框的边框没有影响(我尝试了很多选项):

       ${NSD_AddExStyle} $varPageUserDetails.TextBoxEmail ${WS_EX_CLIENTEDGE}|${WS_EX_TRANSPARENT}

我尝试了 Resource Hacker,但没有找到任何更改边框颜色的选项。

我唯一的选择是编写一个 Windows 应用程序并使用 ChangeUI 吗?

【问题讨论】:

  • 透明样式不能这样用...

标签: nsis


【解决方案1】:

您通常无法更改标准 Windows 控件的边框颜色。您可以通过不使用 WS_BORDER 或 WS_EX_*EDGE 来移除边框。

ChangeUI 在这里帮不了您,您必须编写一个自定义插件,将控件子类化并使用您的自定义颜色绘制非客户区。

NSIS wiki 上有一些皮肤插件,您也可以看看...

【讨论】:

  • @Andres 谢谢。这对我有用。您可以在 cpp/c# 中更改边框颜色。那么为什么 CnageUI 不会有帮助呢?
  • ChangeUI 只是改变了对话框资源的布局/设计,但你总是得到普通的 Win32 控件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多