delphi - 我可以在 Delphi 6 / Delphi 7 中更改 TRAdioButton 上的字体字符集吗
问题描述
我有一个在 Delphi 6 中构建的旧应用程序。致力于定制,用户可以在其中更改屏幕字体和代码页。我通过递归遍历所有表单、容器、控件等来做到这一点。
这在大多数情况下都有效。
但奇怪的是,我似乎无法更改 TRAdioButton 上的字体字符集。组标题工作正常,但里面的项目不继承容器字符集,尽管它们继承了字体。
示例文本以 ANSI 编码的中文输入,字符集 GB2312。
我查看了 ExtCtrls 的来源,并尝试了类似的东西
TRadioButton( thegroup.items[i] ).Font.Charset := programFilePrefFont.Charset;
..但它给med访问冲突。
我假设如果全局更改 Windows 区域设置,结果会有所不同,但这在 Win10 上很难。
我知道我可以与 TNT 合作,但这种变化涉及到很多地方,所以暂时不是这样。这也成为了一种好奇的追求。
感谢您的任何意见。
解决方案
要更改 aTRadioButton
中的字符集,请TRadioGroup
使用Buttons
组的属性,而不是Items
属性。
例如
thegroup.Buttons[i].Font.Charset := programFilePrefFont.Charset;
推荐阅读
- algorithm - 反映循环迭代器关于迭代次数中点的数学运算
- swift - 使用 Swift 4 只允许字母之间的特殊字符和空格
- python - 刮,刮链接,然后刮页面
- c - 为什么strcmp不返回0
- c# - 如何从 MS Graph API 返回用户特定信息?
- javascript - 映射对象属性并转换为字符串
- elixir - Elixir Redix 基于名称的池示例 - 主管签名不存在
- twilio - 通话挂断前的Twilio api播放消息
- excel - 在日期类型标题上使用 INDIRECT()
- python - 如果匹配,我需要比较 2 个不同数据帧的 2 个字段,我们需要填充详细信息,否则在 python 中填充空值