- ベストアンサー
delphi マウスカーソル
delphi6 です。 イメージエディタで作ったマウスカーソルを実際に使用する為のコード記述を教えて下さい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No4. 補足質問 ですが、エラーとなる現象が分かりませんので何とも言えないのですが、ヘルプに書いてある方法は、#2 さんが回答しているリソースファイルから取り込んで表示する方法です。 WindowsXP + Delphi7 で確認したのですが、#4 の方法でカーソルは変更されたのですが… それから、参考になりそうなサイトのURLを載せておきます。他にも、検索すれば見つかると思います。
その他の回答 (5)
- bob_n
- ベストアンサー率35% (610/1732)
FORM1にMEMO1を追加して、『C:\temp\Cursor1.cur』というカーソルのファイルで実際にやってみました。 MEMO1にカーソルを持っていくと変わりました。 var user_Cursor:TCursor; const crMyCursor =1; procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[crMyCursor] := LoadCursorFromFile('C:\temp\Cursor1.cur'); end; procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin memo1.Cursor:=crMycursor; end; end.
お礼
めでたく、自作カーソルが出現しました。感激です ありがとうございました。
- みい ちび(@MICHIBI)
- ベストアンサー率26% (15/56)
No3. 補足質問 の回答です。 Screen.Cursors[1] := LoadCursorFromFile('c:test.cur'); Screen.Cursor := 1; という風に使います。なぜ 1 なのかは忘却のかなたです。(^_^;
補足
うまくいきません。 ヘルプを見ると、 const crMyCursor = 5; procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[crMyCursor] := LoadCursor(HInstance, 'NewCursor'); Cursor := crMyCursor; end; と、なってます。 Window Apiを使ってるみたいですが、HInstanceの部分がわかりません。 カーソルイメージのファイルの場所を指定するんでしょうか? 記述はどう書くのでしょうか?
- みい ちび(@MICHIBI)
- ベストアンサー率26% (15/56)
ファイルから読み込むのであれば LoadCursorFromFile API で出来ると思います。
補足
>LoadCursorFromFile API の使い方がわかりません。 form1.Cursor := LoadCursorFromFile('c:test.cur'); では、だめですよね。
- bob_n
- ベストアンサー率35% (610/1732)
Projectを保存したフォルダに入っているはずです。 イメージエティターでそのresファイルを開き、リソースから新規作成→カーソルを選ぶと、追加されると思います。 イメージエディタのヘルプのイメージエディタメニューが参考になると思います。
- bob_n
- ベストアンサー率35% (610/1732)
Delphi ヘルプの VCL リファレンスの TControl.Cursorの例に書かれていると思います。
補足
ご回答ありがとうございます。 まだ、良く理解できません。 ヘルプでは 「カスタムカーソル NewCursor がアプリケーションのリソースファイル(.RES ファイル)に追加されていること」 と、なっていますが、リソースファイルってどこでしょうか?
お礼
できました。 原因は単純なことで 'C:\test.cur' の「¥」を付け忘れてました。 エラーにもならなかったもので・・・・ 参考サイトも参考になりました。 ありがとうございます。