如何移除TLabel控件快捷键中的'&'字符?
获取TLabel中去除快捷键标记&的Caption字符串
好消息!Delphi的VCL框架早就为你准备了专门的内置函数来解决这个问题,完全不用自己手动处理字符串~
你可以使用StripHotkey函数(该函数位于Controls单元中),它会自动移除Caption里的快捷键标记&,同时还能正确处理连续&&的情况(连续的&&是VCL中用来显示实际&字符的写法,StripHotkey会将其转换为单个&)。
示例代码
针对你给出的场景,只需要这样调用:
var CleanCaption: string; begin // 获取去除&标记后的纯文本标题 CleanCaption := StripHotkey(MyLabel.Caption); // 此时CleanCaption的值就是你想要的'Test' end;
额外说明
- 如果你的Label Caption是
'Save && Exit'(想要显示Save & Exit并设置快捷键),StripHotkey会返回'Save & Exit',完全符合VCL的快捷键显示逻辑 - 这个函数是VCL原生提供的,经过官方测试,比自己手动写字符串替换要更可靠,能覆盖所有边界情况
内容的提问来源于stack exchange,提问作者Fabrizio
相关产品推荐
相关产品推荐

