Windows7 DelphiXEで開発中です。
TreeViewを利用してDrag中にImageListに登録してある
イメージを表示する事は可能でしょうか?(DragCursor)
DragModeはdmAutomaticとなっております。
どうかご教授お願いします。
質問を整理すると、こういうことですよね。
TreeViewでドラッグ中のマウスカーソル(DragCursor)を、ImageListに登録してある画像に
することは可能でしょうか?
とりあえずImageListは置いといて、、、
普通はあらかじめイメージエディタなどでマウスカーソルを作成してcurファイルを作っておき、
それをプログラムの冒頭(TForm1.FormCreate)とかで以下のように登録します。
Screen.Cursors[1]:=LoadCursorFromFile('MyCursor.cur');
TreeView1.DragCursor:=1;
また、イメージエディタでカーソルのリソースを作成して、それをexeに組み込むことも出来ます。
詳しくは検索したりして調べてください。適当に検索したら古い情報はすぐ見つかりました。
オリジナルのカーソルを使う - Delphi Tips - Delphi Acid Floor
http://www.wwlnk.com/boheme/delphi/tips/tec0320.htm
※まずはヘルプのTScreen.Cursorsをよく読んだほうがいいです。
ImageListの画像を使う方法ですが、Win32APIのCreateCursorを使えば可能だと思います。
ですが、マウスカーソルを作成するには ANDマスク と XORマスク、2つの画像が必要ですよ?
任意の画像からカーソルを作成するには、制約として縁を使わない画像にしておき、それから
計算して2つのマスクを作り、CreateCursorで登録…という手順になると思います。
こんなことは面倒なので、普通はやらないと思います。
#次回からはユニークなハンドル名で投稿することをおすすめします。…「初心者」さんが多過ぎなので。
#このスレッドではそのまま「初心者です」にしておいてください。ヘタに変えると混乱します。
あ、もしかしてTreeViewのDragCursorは関係なくて、ImageListのSetDragImageのことだったのかな、、、。
だとしたらヘルプを見てください。簡単ですから。
(DragCursor)を見て、マウスカーソルのことだと見抜いたつもりになってましたが、、、
なんか完全に外したような気がする。。。。
私の回答でニーズを満たせないようでしたら、もっと詳しく、具体的な内容で質問してみてください。
そうすれば、トンチンカンでない回答をしてくれる人が現れると思います。
ツイート | ![]() |