2011-03-31 69 views
0

我创建一个MFC SDI探险风格的应用程序(它有一个分隔栏和右侧窗格中的文本编辑区,左侧窗格中的树视图)MFC SDI文本编辑器

我右侧窗格是一个CRichEditView。

我希望能够检测用户何时编辑了文本,以便设置一个标志以显示已作出更改但尚未保存。我尝试了几种方法捕获PreTranslateMessage中的WM_KEYDOWN,但是捕获所有内容并阻止按键编辑视图。我也尝试将ON_WM_KEYDOWN()添加到MyView.cpp中的消息映射中。同样,这似乎可以防止按键对视图中的文本产生任何影响。我想允许用户编辑视图中的文本,但应用程序知道这已完成。

请帮忙 - 我已经找了几个小时的方法来做到这一点。

非常感谢

回答

1

添加ON_WM_KEYDOWN()的消息映射可能是正确的做法。您必须确保OnKeyDown()方法的实现调用基类方法,以便适当传递消息。

+0

啊,是的,我第一次尝试pWnd->的onkeydown()造成编译错误,但后来尝试的CWnd ::它的onkeydown工作。 – user686027 2011-04-04 14:04:40

+0

非常感谢您的帮助。你知道为什么CWnd :: OnKeyDown()工作,但pWnd-> OnKeyDown()没有? – user686027 2011-04-04 14:05:37