如何将信息粘贴到过滤的CHeaderCtrl中

时间:2013-11-08 15:21:47

标签: mfc

我们有一个使用CHeaderCtrl的MFC应用程序,并且一直使用HDS_FILTERBAR样式来过滤数据。效果很好。但我们的用户希望能够将文本粘贴到过滤单元格中。我还没有找到一种方法来获取指向任何CEdit类型控件的指针,以便我可以调用>粘贴。我已经设法在应用程序的:: PreTranslateMessage中的过滤器中检测到Control-V。有一种方法可以通过CHeaderCtrl-> SetItem调用将文本发送到过滤器,但这会立即启动过滤器。我只是希望能够粘贴文本。

所以...我尝试使用keybd_event和SendInput来强制击键(我绝望了)。这有效,但有不良副作用,可能是由于MFC的消息处理,在我的情况下,用户已按下Control + V。但是在发送字母'A'并强制SHIFT键时,我意外地发现CHeaderCtrl的过滤器确实支持粘贴,如果你:

CONTROL + SHIFT + V

问题是很难做到,很难告诉我的用户这样做。

我可以使用keybd_event来模拟这个序列,但同样,它真正的古怪。

任何人都可以找到一种方法来获取CEdit(如果有的话)到过滤的CHeaderCtrl或知道另一种解决方法吗?我尝试使用间谍实用程序,但不知道该寻找什么。对不起,很长的帖子。

1 个答案:

答案 0 :(得分:0)

因此从加速器列表中删除Ctrl + V,您可以在控件内处理它... (根据评论添加了答案)。