2011-03-31 103 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