Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
マウスカーソルの指定
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30318#CommentId83194
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2018/4/2 11:38:25
> VS2017にてCUSファイルを作成し、リソースに登録して利用したいと考えております。
.cur (Windows カーソルファイル)ではなく、
.CUS (AutoCAD ユーザ辞書ファイル)ですか…?
ちなみに正しいカーソルファイルなら、ファイルの先頭 4 バイトは
00, 00, 02, 00 であるはずです。
> 2) cursor = new cursor(My.Resouces.mycus .. <=このような形で設定できないかと考えております)
そのリソースが、Windows カーソル ファイルを表す Byte 配列を返すものであれば
Cursor = New Cursor(New System.IO.MemoryStream(My.Resources.何某))
のようにすればセットできます。
ただし指定できるカーソルはモノクロに限定されますのでご注意ください。
(カラーカーソルを指定しても、白黒カーソルで描画されます)
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.cursor%28vs.100%29.aspx
》 Cursor クラスでは、アニメーション カーソル (.ani ファイル)、
》 またはカラーのカーソルはサポートされていません。
カラーカーソルや指定したいなら、LoadImage API を用いるか、もしくは、
アイコン形式(.ico)で代用するしかありません。
Cursor = New Cursor(My.Resources.アイコンリソース.Handle)
ただし Icon 形式でセットした場合は、ホットスポットが画像の中央になりますし、
反転部色の指定などもできません。また、アニメーションカーソルも使えません。
> CUSではHANDLEが無いようです(恥ずかしながらこの辺は全く理解できておりません)。
正攻法で .cur ファイルを扱うのであれば、LoadImage API を使って
アイコンハンドルを得ることになります。この場合、不要になった時点で、
Cursor オブジェクトの Dispose メソッドを呼ぶ作業と、
DestroyCursor API でアイコンハンドルを破棄する作業が必要になります。