ab.com コミュニティ
https://www.activebasic.com/forum/

TreeviewのノードをD&Dで動かしたい
https://www.activebasic.com/forum/viewtopic.php?t=4581
ページ 11

作成者:  水波形 [ 2016年2月04日(木) 22:17 ]
記事の件名:  TreeviewのノードをD&Dで動かしたい

最近ここの更新が止まってしまい、すごく悲しい水波形です。
AB4.23.00を愛用しています。

Treeviewのノードをドラッグアンドドロップ(D&D)で移動させる方法について質問があります。
コード:
TVN_BEGINDRAG
が検知されたらD&Dが開始される事が分かり、

D&Dが終了すると、
コード:
WM_LBUTTONUP
が通知されるということがわかったため、Treeviewをサブクラス化しWM_LBUTTONUPを捕まえます。

ここまではうまく行ったのですが、D&Dの対象を知る方法が分かりません。

コード:
TVGN_DROPHILITE
を利用すれば良さそう(参考サイト)なのですが、
SendMessageに与える値がよく分かりません。
コード:
ターゲットのノードのハンドル = SendMessage(TreeViewのハンドル, TVM_GETNEXTITEM, TVGN_DROPHILITE, D&Dを始めたノードのハンドル)
コード:
ターゲットのノードのハンドル = SendMessage(TreeViewのハンドル, TVM_GETNEXTITEM, TVGN_DROPHILITE, D&Dを終えたハンドル)
コード:
ターゲットのノードのハンドル = SendMessage(D&Dを始めたノードのハンドル, TVM_GETNEXTITEM, TVGN_DROPHILITE, D&Dを終えたノードのハンドル)
コード:
ターゲットのノードのハンドル = SendMessage(D&Dを終えたノードのハンドル, TVM_GETNEXTITEM, TVGN_DROPHILITE, D&Dを始めたノードのハンドル)
というのを試しましたが、返ってくる値はすべて0(失敗)……(参考

これはどのように使えばいいのでしょうか。
ご存じの方がいらっしゃいましたらご教授ください。
よろしくお願いいたします。

作成者:  たかせ [ 2016年2月07日(日) 22:15 ]
記事の件名:  Re: TreeviewのノードをD&Dで動かしたい

Treeviewに関してプログラミングの経験がないのでわかりませんが、
まずはSendMessageの直後にGetLastErrorとFormatMessageを追加してください。
エラー内容を確認することで対応策がみつかるかもしれません。
前向きでない方法ですみませんが。
よろしくおねがいします。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/