掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TreeviewのD&Dについて (ID:41654)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは,Mr.XRAYです. >http://www2.big.or.jp/~osamu/Delphi/tips.cgi?index=0316.txt >これを少し変更すればいけると思います。 ですね.後は工夫次第ですね. 私が前に提示した,GetDragImagesは,残念ながら,ImageListでビットマップを設定していないとダメでした. スミマセン. 子ノードとしてではなく,(移動)挿入ですが, 1つの考え方として,各ノードにアイコン(画像)が表示されているものとして, ドラッグする時に,このアイコンでドラッグ開始した時はインサート.テキスト部分からドラッグ開始した 場合は,子ノード追加というような仕様にするとすれば, 例えば次のようなコードで可能です. これも,動作仕様をいろいろ検討する必要があるように思います. procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer); var SourceNode : TTreeNode; DestNode : TTreeNode; AHit : THitTests; begin //選択ノード SourceNode :=TreeView1.Selected; //ターゲットノード DestNode := TreeView1.DropTarget; AHit := TreeView1.GetHitTestInfoAt(X, Y); //もしノードの画像(ビットマップ)でマウスダウンしてドラッグしてきたら //DestNodeにインサートする if (htOnIcon in AHit) then begin SourceNode.MoveTo(DestNode, naInsert); //それ以外,つまりテキスト部分であったら子ノードとして追加する end else begin SourceNode.MoveTo(DestNode, naAddChild); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.