C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: ListVIewからtreeViewへのドラック&ドロップに


(過去ログ 74 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■43147 / inTopicNo.1)  ListVIewからtreeViewへのドラック&ドロップに
  
□投稿者/ えいじ (1回)-(2009/10/30(Fri) 01:36:42)

分類:[C#] 

お世話になってます。
ドラック&ドロップに関してご質問があり、書き込みさせていただきました。

現在、XP、サービスパック3、VC#2005、.NET Framework2.0の環境でwindowsのエクスプローラーに
似たものを作っています。(左側にtreeView、右側にListViewという感じです)

質問というのは、ドラック&ドロップ時の事です。

ドラック&ドロップで、ListViewからtreeView側にドラックし、
ドラック中にtreeViewの項目(Node)にマウスを当てるとその項目(Node)が
選択され、フォーカスがあたるようになっています。
また、ここで、ListViewからドラックするときに、ListViewで選択していた項目の情報を
カーソルと一緒にドラックするようになっています。
(選択していた項目の情報は、BitmapクラスとGraphicsクラスを使って透過した物を作りました。
実際にエクスプローラーでドラックしたときにできるようなものです)

これで実際にListViewからtreeViewにドラックして、マウスをtreeViewの項目に当てます。
そして、他の項目にずらします。すると、ドラックで持ってきていた透過されている情報
とtreeViewのフォーカスがあたっていた部分が重なっていると、項目をずらした後もそこだけフォーカスがあたっていたときの
ように跡が残ってしまいます。
treeViewのrefresh()などを用いて見ましたが、使う前よりましになった程度でまだ跡が残ってしまう部分が
あります。refresh()を使うと当然、treeViewで項目をずらすと画面が点滅します。

文章で説明するのがかなり難しいので、うまく伝わらないかもしれませんが、
どなたか解決案やご意見をいただけると助かります。

すみませんが、よろしくお願いします。



引用返信 編集キー/
■43151 / inTopicNo.2)  Re[1]: ListVIewからtreeViewへのドラック&ドロップに
□投稿者/ れい (859回)-(2009/10/30(Fri) 10:03:42)
No43147 (えいじ さん) に返信
> 文章で説明するのがかなり難しいので、うまく伝わらないかもしれませんが、

そうですね。
わかりづらい場合や再現に必要なコードが多い場合は
最小コードを示すとよいと思います。

わかりやすければ誰か助けてくれるかもしれません。

> (選択していた項目の情報は、BitmapクラスとGraphicsクラスを使って透過した物を作りました。
> 実際にエクスプローラーでドラックしたときにできるようなものです)

作ったものをどう表示していますか?
「実際にエクスプローラーでドラックしたときにできる」ものはウィンドウハンドルをもつ
半透明なウィンドウです。
直接TreeViewに書いているといろいろ問題が起こる場合があります。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -