• ベストアンサー

delphi マウスカーソル

delphi6 です。 イメージエディタで作ったマウスカーソルを実際に使用する為のコード記述を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

No4. 補足質問 ですが、エラーとなる現象が分かりませんので何とも言えないのですが、ヘルプに書いてある方法は、#2 さんが回答しているリソースファイルから取り込んで表示する方法です。 WindowsXP + Delphi7 で確認したのですが、#4 の方法でカーソルは変更されたのですが… それから、参考になりそうなサイトのURLを載せておきます。他にも、検索すれば見つかると思います。

参考URL:
http://www.asahi-net.or.jp/~HA3T-NKMR/tips010.htm
situmonnsya
質問者

お礼

できました。 原因は単純なことで 'C:\test.cur' の「¥」を付け忘れてました。 エラーにもならなかったもので・・・・ 参考サイトも参考になりました。 ありがとうございます。

その他の回答 (5)

  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.6

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.

situmonnsya
質問者

お礼

めでたく、自作カーソルが出現しました。感激です ありがとうございました。

回答No.4

No3. 補足質問 の回答です。 Screen.Cursors[1] := LoadCursorFromFile('c:test.cur'); Screen.Cursor := 1; という風に使います。なぜ 1 なのかは忘却のかなたです。(^_^;

situmonnsya
質問者

補足

うまくいきません。 ヘルプを見ると、 const crMyCursor = 5; procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[crMyCursor] := LoadCursor(HInstance, 'NewCursor'); Cursor := crMyCursor; end; と、なってます。 Window Apiを使ってるみたいですが、HInstanceの部分がわかりません。 カーソルイメージのファイルの場所を指定するんでしょうか? 記述はどう書くのでしょうか?

回答No.3

ファイルから読み込むのであれば LoadCursorFromFile API で出来ると思います。

situmonnsya
質問者

補足

>LoadCursorFromFile API の使い方がわかりません。 form1.Cursor := LoadCursorFromFile('c:test.cur'); では、だめですよね。

  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.2

Projectを保存したフォルダに入っているはずです。 イメージエティターでそのresファイルを開き、リソースから新規作成→カーソルを選ぶと、追加されると思います。 イメージエディタのヘルプのイメージエディタメニューが参考になると思います。

  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.1

Delphi ヘルプの VCL リファレンスの TControl.Cursorの例に書かれていると思います。

situmonnsya
質問者

補足

ご回答ありがとうございます。 まだ、良く理解できません。 ヘルプでは 「カスタムカーソル NewCursor がアプリケーションのリソースファイル(.RES ファイル)に追加されていること」 と、なっていますが、リソースファイルってどこでしょうか?

関連するQ&A