يمكنك محاولة تحريك HideCaret()
اتصل بعد DefSubclassProc()
, ، لأنه في الوقت الحالي ، إذا تسببت رسالة في الإشعاع ، فلن تكون حتى التالي رسالة بأنها مخفية مرة أخرى.
أيضًا ، أعتقد أن الرسالة الوحيدة التي تثير الافتراضات التي سيتم عرضها هي WM_SETFOCUS
, ، لذلك قد ترغب في اختبار هذه الرسالة فقط. فمثلا،
LRESULT CALLBACK UserInfoProc (HWND hUserInfoWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
{
LRESULT lRes = DefSubclassProc(hUserInfoWnd, uMsg, wParam, lParam);
if (uMsg == WM_SETFOCUS) // maybe?
HideCaret(hUserInfoWnd);
return lRes;
}