【问题标题】:Why the selection is hidden after I was showing modeless dialog?为什么在显示无模式对话框后选择隐藏?
【发布时间】:2017-12-03 11:24:48
【问题描述】:

如果我在编辑控件中有一个选择并且我打开一个标准对话框来查找或替换,我的选择会被隐藏,但是当我关闭无模式对话框时,我可以再次看到我的选择。

hwndF = FindText(&fr); // open standart find modeless dialog

问题分解:

  1. 我在编辑控件中选择文本。

  2. 我打开查找无模式对话框,但看不到选择。

  3. 我关闭了查找无模式对话框,我可以看到我的选择。

打开无模式对话框后,我仍然希望看到我的选择。

【问题讨论】:

  • 我们应该如何在没有任何代码、尝试或任何痕迹的情况下提供帮助。
  • 开发环境是什么?视觉工作室?还有什么?这里没什么可逛的。

标签: c++ c winapi


【解决方案1】:

为确保在控件失去焦点时所选文本不会隐藏,请使用ES_NOHIDESEL 样式创建编辑控件,例如ES_NOHIDESEL | WS_VISIBLE | WS_CHILD。如果使用资源对话框,设置“No hide selection = true”。

另请参阅:
Edit Control Styles

ES_NOHIDESEL
取消编辑控件的默认行为。 默认行为在控件丢失时隐藏选择 当控件接收到输入焦点并反转选择 输入焦点。如果指定ES_NOHIDESEL,则选中文本为 倒置,即使控件没有焦点。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
相关资源
最近更新 更多