Sie könnten versuchen, das zu bewegen HideCaret()
Rufen Sie nach dem an DefSubclassProc()
, da im Moment, wenn eine Nachricht die Pflege auslöst nächste Nachricht, dass es wieder versteckt ist.
Ich würde auch vermuten, dass die einzige Nachricht, die die zu zeigen, die Pflege auslöst WM_SETFOCUS
, Möglicherweise möchten Sie also nur für diese Nachricht testen. Zum Beispiel,
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;
}