0
我有一個多行編輯控件,允許來自其他來源的多行文本(即複製/粘貼,...),但我不想讓用戶直接按Enter鍵來換行。
在這種情況下,我該如何處理Enter鍵?謝謝!如何處理Win32多行編輯控件中的Enter鍵?
我有一個多行編輯控件,允許來自其他來源的多行文本(即複製/粘貼,...),但我不想讓用戶直接按Enter鍵來換行。
在這種情況下,我該如何處理Enter鍵?謝謝!如何處理Win32多行編輯控件中的Enter鍵?
你可以用一個簡單的子類的編輯控件的做到這一點塊的返回鍵:
LRESULT CALLBACK EditSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
{
if (uMsg == WM_CHAR && wParam == VK_RETURN)
return 0;
LRESULT lRes = DefSubclassProc(hWnd, uMsg, wParam, lParam);
if (uMsg == WM_DESTROY)
RemoveWindowSubclass(hWnd, EditSubclassProc, 0);
return lRes;
}
要調用它:
SetWindowSubclass(hWndEdit, EditSubclassProc, 0, 0);
謝謝!完美的工作。 – Sakura 2015-03-13 20:39:40