Programming Tips #8 マウスカーソル設定方法のかん違い
場所によってマウスカーソルを一時的に変更するには
てっきり WM_MOUSEMOVE で SetCursor() すれば良いと思ってたのだが間違いだった。
どうもカーソルがちらちらするので何か変だなと思って調査したら分かった。
本命は WM_SETCURSOR だった。
LRESULT App :: OnWmSetCursor() { RECT rc; POINT pt; if ( IsWindowVisible( hTreeView ) ) { GetWindowRect( hTreeView, & rc ); GetCursorPos( & pt ); if ( abs( pt.x - rc.right ) <= cursorOffset ) { SetCursor( LoadCursor( NULL, IDC_SIZEWE ) ); return TRUE; } } return DefaultProc(); }
*1: 終了処理を修正しました