プロが教えるわが家の防犯対策術!

今、ファイル名変換プログラムを作成しています。
そこで、ドラッグ&ドロップまたはフォルダ参照ダイアログから、
ファイルステータスをリストビューにセットしました。
(ファイル名)EX) XXXX.txt
#その時、ファイルパスは取得できています。
その後、実行する時にリストビューから
ファイル名は、GetItemTextで取得できました。
しかし、ファイルパスは取得できません。
ファイル名だけから、ファイルパスを取得するには、
どのようにしたら良いのでしょうか??

ファイル名の変更は、CFileDialog::Renameで考えているので、。。
それとも、他に良い方法はございますでしょうか?

また、構造体かなんか定義して、
リストビューへSETする時に構造体にパスを保存し、
実行時に参照して処理すべきでしょうか?
ただ、リストビューで選択し「DEL」ボタンで、
削除できるようしてあるので、
この方法は、効率が悪いように思えて・・・

環境は、Win2000、VC++6.0、MFCで作成しています。
以上、ご教授ください!

A 回答 (1件)

SetItemData()でフルパスへのポインタ(32ビット値)を関連付ければよいのでは?


ポインタ自体をGlobalAlloc()でハンドルとして取得していれば削除時はGlobalFree()するだけで連動すると思います。
    • good
    • 0
この回答へのお礼

すいません。せっかく教えていただいたのですが、
どんな感じの流れになるのか理解できませんでした。

そこで、フォルダを選択した時にパスを
エディットBOXにSETし、
変換時にファイルパス+ファイル名で利用することにしました。
リネームは、CFile::Renameで実現しました。

しかし、教えて頂いた方法でも今後出来る様にしたいと思います。
それまでの間に参考ソースなどの情報を見つける。
という事で今回は、解決(回避)?とし、締め切りとします。

回答ありがとうございました。

お礼日時:2002/10/12 01:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています