リストボックス内のファイルをダブルクリックで開くには?

解決


きむりん  2006-01-28 05:31:30  No: 129910

どなたかご存知の方いらしたら伝授お願いします。

ドラッグドロップでリストボックスにファイル名のみを表示し、
今度はそのファイル名をダブルクリックすると開けるというものを
作りたいのですが。。。さらに、選択したファイルのみを開くなどといった
ことまでしたいので宜しくお願いします。
ちなみに、ファイル名の表示まではできました。


KG  2006-01-28 06:20:54  No: 129911

#環境は書き込むようにしましょう。

ファイル名だけでは開くことは難しいかと思われます。
パスをどうにかして取得(保存)しておかないと・・・・

ファイルまでの絶対パスが取得できれば、あとはShell関数
なりで開けるかとは思います:)

#私も、VB6でそういったプログラムは作ったことがありますので|o_o


ガッ  2006-01-28 06:21:22  No: 129912

えーっと…環境は?


とっぽ  2006-01-28 11:53:40  No: 129913

リストボックスのダブルクリックイベントのときに
チェックされている行をリストより探し、覚えておいた
パスとファイル名を結合してファイルを開く。

といった感じに作ればいいじゃないでしょうか。


マグ  2006-01-29 06:24:31  No: 129914

環境が不明です。

私も以前それと同じ動作をするソフトを作ったことがあるので、流れだけを・・・

注意するポイントはドラッグ&ドロップしての登録という所です。
発生する問題、ドラッグ&ドロップが可能な条件ならば、どの階層の位置でもパスを登録することが出来る。
つまり、言いたいのは、リストボックスに表示されているファイル名とそれまでたどり着くパスを結合して開くのはそのパスは開くことが出来ても、別の階層にあるパスは開くことができるのか・な・?ってことですよ。
ここを注意しなければ、失敗しますから・・・・・・・

流れとしては、
1、ドラッグ&ドロップにてファイル/フォルダーを移動。
2、ファイルかフォルダーの絶対パスを取得。
3、2の作業で取得した絶対パスを配列に入れる
4、2の作業で取得した絶対パスの後ろから'\'か'\\'を検索し、その位置から最後までを取得し、それをリストボックスに入れる。
5、この時点で配列とリストボックスのインデックスは同じ番号の場所になっている。(例えば:配列-a(0)でリストボックスのインデックスが0に連動すている。)
6、リストボックスから選択するとインデックスと配列の位置が同じ位置に・・・・・・・・・・・
説明していると、頭が混乱してきたみたい・・・・・
まぁこういう流れで、後は理解してください。
それでは、これで失礼します。


きむりん  2006-01-31 06:59:41  No: 129915

みなさんありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加