0

この方法でロードしたカスタムカーソルを使用しています。

Bitmap bit = new Bitmap(path);
cur = new Cursor(bit.GetHicon());
Cursor.current = cur;

私のビットマップは44x58pngであり、マウスのホットスポットは正確に私が望む場所ではありません。マウスのホットスポットを変更するプロパティを探しましたが、見つけたのは読み取り専用(cur.Hotspot)だけです。座標を変更するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

Visual Studio のイメージ エディターでカーソル ファイルまたはリソースを開き、ツールバーからホットスポット ツールを選択します。次に、新しいホットスポットをクリックしてファイルを保存します。私の知る限り、.NET API 経由でホットスポットを設定する方法はありませんが、他のコメントのリンクに示されているように、WIN32 API 経由のオプションがあります。

于 2012-07-17T16:01:51.290 に答える
-2

最後に、マウスカーソルを非表示にして、ホットスポット座標にビットマップを描画することにしました。提案された解決策が非常に複雑です。

cursor = new Bitmap(path);

MouseMoveイベントの場合:

ex = e.X - offx //the x offset of the hotspot
ex = e.X - offy //the y offset of the hotspot

次に、最後の描画要素として(ex、ey)座標でビットマップをペイントします。

于 2012-07-17T20:49:51.187 に答える