- PR -

カスタムカーソルの位置がずれる

1
投稿者投稿内容
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-02 22:51
お世話になってます。

リソースファイルに使うカスタムマウスカーソルを入れて、アプリケーションに
埋め込んで使ってますが、なぜかカーソルの位置が少しずれる
ことは発生します。原因が何かをご存知の方おられたら
ご教授願いたいです。

m.k.s.
常連さん
会議室デビュー日: 2003/06/08
投稿数: 20
投稿日時: 2003-11-03 16:54
こんにちわ。
> リソースファイルに使うカスタムマウスカーソルを入れて
と言うことはC++でしょうか?
# .NETをすべての開発環境を持っていないので、予想ですが...
# あくまでこちらの予想範囲です。的を外していたらすみません。

まぁ言語に関わらず、大抵がポイントと絵がずれている場合が多いです。
左上のポイントをクリック地点としているはず(すみません)なので、
絵を拡大して調べて見てください。

あと、スクリーン座標とクライアント座標では座標系がちがうので、変換が必要になります。

どちらにしろ、もう少し詳しい状況を教えて頂かないと答え様がありません。
開発環境は何なのか、どのような場合にズレるのか、OSのバージョンなど、
最低限必要な情報がないと、期待する答えは返ってこないと思います。

# 誤字修正

[ メッセージ編集済み 編集者: m.k.s. 編集日時 2003-11-03 16:54 ]
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-03 17:35
こんにちは。
ありがとうございます。

>と言うことはC++でしょうか?
C#です。

># あくまでこちらの予想範囲です。的を外していたらすみません。
とんでもないです。なんでも気軽に教えてください。

>まぁ言語に関わらず、大抵がポイントと絵がずれている場合が多いです。
>左上のポイントをクリック地点としているはず(すみません)なので、
>絵を拡大して調べて見てください。
.NET FrameworkにCursorというクラス(APIのラッパーと思われる)があって
それを使って以下のように使うとずれる問題が発生しません。
this.Cursor = new Cursor("xxxx.cur");
このようにしても問題ないですが、EXEを配るときcurファイルも一緒に配らないと
だめです。そこでリソースに入れてEXEに組み込んで使っちゃおうと思いました。
やり方はResourceWriterを使ってxxxx.cur類をリソースファイルに入れて
アプリ側はResourceManagerで取り出してセットするにようやってます。
同じカーソルファイルですがリソースにしてやるとずれるが直パス指定なら問題ない
という現象が出ています。よくわからないので質問しました。
どうようにずれるかですが、見た目が少し実際より上に行ってしまってます。
微妙な操作のときは使いにくいです。.NET1.1でやってます。OSはXP SP1

[ メッセージ編集済み 編集者: CHN 編集日時 2003-11-03 18:00 ]
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2003-11-03 21:37
こんにちわ。諸農です。

引用:

CHNさんの書き込み (2003-11-03 17:35) より:

やり方はResourceWriterを使ってxxxx.cur類をリソースファイルに入れて
アプリ側はResourceManagerで取り出してセットするにようやってます。



とのことですが、ソリューションエクスプローラでカーソルファイルを追加して
(もちろん、ビルドアクションを「埋め込まれたリソース」に変更して、ですが)
Form1_Loadイベントハンドラでロードしてみてはいかがでしょうか。

コード:
private void Form1_Load(object sender, System.EventArgs e)
{
    Cursor defCur = new Cursor(this.GetType(),"arrow_rl.cur");
    this.Cursor = defCur;
}


上記のコードで試したカーソルファイルは、\Windows\Cursorsにあったものを拝借して行いましたが、見たところ問題無さそうです。


ではでは(^^)/
_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
CHN
ぬし
会議室デビュー日: 2002/03/07
投稿数: 382
投稿日時: 2003-11-03 22:05
ありがとうございます。

確かに行けましたね!

またよろしくおねがいします。
1

スキルアップ/キャリアアップ(JOB@IT)