我想更改從鍵盤使用Alt + Unicode代碼插入的unicode字符。 我用PretranslateMessage改變從鍵盤直接插入的字符,它的工作。但使用Alt + Unicode代碼方法則不行。 這裏是代碼: 當啓用顯示/隱藏段落標記時,Microsoft Word具有此功能。在CRichEdit中使用Alt + Unicode插入更改字符
BOOL CEmphasizeEdit::PreTranslateMessage(MSG* msg)
{
if (msg->hwnd == m_hWnd)
{
if (msg->message == WM_CHAR)
{
if (TheApp.Options.m_bShowWSpaceChars)
{
if (msg->wParam == ' ') // This works in both cases Space key pressed or Alt + 3 + 2 in inserted
{
msg->wParam = '·';
}
else if (msg->wParam == (unsigned char)' ') // this does not work
{
msg->wParam = (unsigned char)'°';
}
}
}
}
return CRichEditCtrl::PreTranslateMessage(msg);
}
如果我從鍵盤ALT + 0 + 1 + 6 + 0,這是'插入「(無間斷間隔),我希望的CRichEditCtrl顯示‘°’或我指定另一個炭。
我該如何處理這個問題才能使其工作?
這不是Word如何實現該功能。它不**修改**文檔內容。它只是變化,內容如何顯示。 – IInspectable
是的,我只想修改它的顯示方式。這就是爲什麼我要重定向插入的字符。 – Mihai