- - PR -
C# TreeViewコントロールでドラック中にマウスカーソルの位置を取得
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-11-01 19:26
開発にはVS2005 Express Editionを使用していますが、
Nodeをドラック中にエクスプローラの様にマウスカーソルの位置と連動して、 Nodeをセレクトしたいのですが、なぜかMouseMoveイベントがおきません。 WinProcをオーバーライドしてみましたがWM_MOUSEMOVEがきませんでした。 どのようにすればドラック中にマウスカーソルの位置を取得できるのでしょうか。 | ||||
|
投稿日時: 2006-11-01 19:51
QueryContinueDrag イベントでどうでしょうか? (DragOver イベントでも良いと思いますが) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-11-06 16:14
じゃんぬねっとさんありがとうございます。
DragOver イベントで、ドラック中にマウスカーソルと連動したノードの選択できました。 ----------------------- public XTreeView() { this.AllowDrop = true; this.DragOver += new System.Windows.Forms.DragEventHandler(this.XTree_DragOver); } private void XTree_DragOver(object sender, DragEventArgs e) { TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(PointToClient(Cursor.Position)); if (DestinationNode != null) { //マウスが上にきたらNodeItemをセレクトする ((TreeView)sender).SelectedNode = DestinationNode; } } [ メッセージ編集済み 編集者: katsuo 編集日時 2006-11-06 16:15 ] | ||||
|
投稿日時: 2006-11-06 21:46
細かいことで申し訳ないのですが、 DragEventArgs にマウスの座標が格納されているプロパティが存在します。 そちらを使用したほうが正確な座標を取得できるかもしれません。 |
1