如何放置文字垂直条"|" 在控件的Hint属性中?

A L*_*rdo 5 delphi tooltip delphi-xe2

我有一个应用程序,允许用户输入正则表达式(他们制作)来解析文档存储库.搜索结果显示在TTreeView控件中.我想将TreeView的Hint属性(不是每个Treenode)设置为使用的正则表达式,但我遇到的问题是正则表达式中可能有一个pipe(|)字符(正则表达式OR),Delphi解释作为提示和长提示之间的分离.我试图取代的每次出现|||希望它会使用相同的效果&&,而不是&(如菜单项)无济于事.

是否有任何方法可以|在不将其解释为分隔符的情况下嵌入提示中?

bum*_*mmi 4

不准确但也许足够接近

 Component.Hint := Stringreplace(TheHintText,'|',#5,[rfReplaceAll]);
Run Code Online (Sandbox Code Playgroud)

  • unicode 字符 U+00A6 是断掉的管道,```。也许作为交换字符很有用。 (5认同)
  • 您应该使用“TApplication.OnShowHint”事件,或者子类化“TTreeView.WindowProc”来拦截“CM_HINTSHOW”消息,以自定义最终获取的“THintInfo.HintStr”文本,而不是像这样使用“StringReplace()”显示在提示窗口中。 (2认同)