为什么在我显示无模式对话框后隐藏选择?

时间:2017-12-01 23:47:35

标签: c++ c winapi

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

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

问题分解:

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

    Image

  2. 我打开find无模式对话框,无法看到选择。

    image

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

    Image

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

1 个答案:

答案 0 :(得分:3)

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

另见:
Edit Control Styles

  

ES_NOHIDESEL
否定编辑控件的默认行为。   当控件丢失时,默认行为会隐藏选择   当控制器接收到时,输入焦点并反转选择   输入焦点。如果指定ES_NOHIDESEL,则所选文本为   倒立,即使控件没有焦点。

相关问题