0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【WindowsApi】 マウスカーソル非表示でつまづいたところ

Last updated at Posted at 2025-01-21

マウスカーソルを非表示にしたい!

ShowCursor(FALSE);

これでいいはず...

まったく非表示になりません!なんで!!

ちゃんとリファレンスを読んでみる

つまり、内部でカーソルを表示しろと言われた回数を保持していて、それが正だとカーソルは表示されるらしい。
返り値はその保持数だから...

while(ShowCursor(FALSE) >= 0){}

これでよいのでは...

やっぱり表示される!!

結論

メインスレッド外でShowCursor()を呼び出していたから非表示にできなかった!

スレッドごとにカウントを保持しているためメインスレッド外でカウントを負にしてもメインスレッドのカウントは減ってないから非表示にできないってことでした。

おわり

初めて使うものは単純な状態で試してから使いましょう。
(というかデバイスから入力を受け取るのであればメインスレッドのみで更新を行うべきであるということに気づくのが遅かった...)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?