• ベストアンサー

VC++ の ユーザインタフェースについて

VC++ 6.0の初心者です。 VC++で、エクスプローラのようなユーザインタフェースを作成しようかと思っております。 【仕様】 ・ツリービューにてフォルダとその中にあるファイルを 一覧で表示する ・UIからファイルをマウスでクリック(選択)する事で クリックされたファイルパスをVC++上の変数へ格納する 入門書等を読んでみたのですが、私のスキルでは作成不能との見解になりました。 上記仕様を持つプログラムのざっくりとした作成方法、 もしくは上記と類似のサンプルプログラム等がどこかにございましたら教えて頂けませんでしょうか。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • VitaminBB
  • ベストアンサー率10% (17/165)
回答No.3
参考URL:
http://homepage2.nifty.com/~kawano/program/sec2/sec2.html

その他の回答 (3)

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.4

MFC用のサンプルが、 MSDNの中にあります。 その中に、 splitframe の具体例があります。 この例の左側のダイアログボックスを NO2. の方のいわれるものに 置き換えればいいのではないでしょうか?  MSDNを持ってるけれど、 上記の具体例を見つけられない場合は 書き込んで下されば、具体的なサンプル名を書きます。  

  • BILLY-J
  • ベストアンサー率57% (60/105)
回答No.2

単純にコモンダイアログを使ってしまうのは如何でしょうか。 例えばメモ帳等で「ファイル」メニュー→「開く」を選択した時に 表示されるダイアログです。MFC環境ならこれを一発で表示できます。 UIは要求仕様と異なるかも知れませんが、動作要件は満たしている と思います。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_MFC_CFileDialog.asp

  • tar_bo
  • ベストアンサー率40% (6/15)
回答No.1

「シェルエクステンション」をキーワードにすればいいと思いますが、 まずは、どこまでできているのかの情報を提示した方がよろしいかと思います。

参考URL:
http://www.kab-studio.biz/Programing/Codian/ShellExtension/01.html

関連するQ&A

  • VC6++のツリービューについて

    VC6++のツリービューについて質問させていただきます。 ツリービューで以下のようなリストを作成した場合、リストをクリックした時に文字色もくしは、文字の背景色を変更したいと考えております。何かよい方法があればお教え頂ければと思います。 よろしくお願いいたします。 【ツリービューのイメージ】 下のようなリストを作成後、”きゅうり”をクリックしたら、”きゅうり”の文字列の色が変わり、”みかん”をクリックしたら、”みかん”の文字列の色が変わるイメージです。 野菜  |   ― きゅうり  |     ― レタス 果物  |   ― みかん  |   ― ブドウ  

  • VC++4.0→VC++6.0

    Visual C++4.0で作成したソースをVisual C++6.0で 読み込ませたい(VC++6.0で再コンパイルしたい)の ですが、.dswファイルを起動しても関連するファイルが 開いてくれません。(ファイルビューには.makしかない) Visual C++6.0で再コンパイルする方法を教えて下さい。 (VC++自体わからないのですが、コンパイル位は出来ます) そもそも出来ないのでしょうか? (VBは可能なので、VC++も出来るのかなと思いまして...)

  • COMインターフェイスを用いたプログラムの書き方

    COMのプログラムに関するHPはあるにはありますが、いまいちどこからはじめていいのかわかりません。 VC6.0でCOMインターフェイスを用いたプログラムの作成の仕方を教えていただきたいです。 まず、 ・どのようなプロジェクトを開いて行うか? について教えていただけませんでしょうか? ちなみにPlatformSDKにUPnPに関するCOMインターフェイスが用意されていると思いますが、最終目標はこれを用いてプログラムを書くことです。 よろしくお願いします。

  • VC#とVC++の両方を使いたいんですが・・・

    今まではMicrosoft Visual C# 2008 Express Edition(以下VC#)だけである程度の開発を進めてきましたが、今後はOpenCVをC#で使いたいと考えています。 OpenCVに関する本やWebページを見ても、Microsoft Visual C++ 2008 Express Edition(以下VC++)を例にするものしかありませんでした。 Webページで、VC++を使って、ビルドしたあとdllファイル(?)をC#に読み込むことで、C#でOpenCVを使えるという記述を見つけたため、VC++もインストールしました。 しかしVC++をインストールする際、以下のようなコメントが出てきました。 --- コンポーネントが既に別の場所に保存されているか、別の場所に保存されたファイルに依存しているため、このコンポーネントまたはサブコンポーネントの場所を変更できません。 以下のプログラムが原因でファイルが統合されようとしています: Microsoft Visual C# 2008 Express Edition with SP1 - JPN ファイル パスを変更するには、上の一覧にあるプログラムをアンインストールしてから、Visual Studio と共有しているファイルを格納する場所に再インストールしてください。 --- もしかしたらSP1はインストールしなかったのかもしれません(チョット記憶が曖昧ですみません)。 実際、VC++でOpenCVを使ったプログラムを書いた際、ビルドは出来るものの、デバッグすると以下のようなコメントが出てしまいます。 アプリケーションを正しく初期化できませんでした(0xc0150002)。[OK]をクリックしてアプリケーションを終了してください。 これはSP1が使える状態になっていない(インストールされていない)ということなのでしょうか? 先ほども書いたとおり、VC#である程度の開発が進んでいるため、アンインストールをしてプログラムが使用不可能になってしまうことを恐れ、アンインストールをためらっています。 アンインストールと再インストールをしたとして、どこの設定を変えれば再度使えるようになるのかを教えていただけますか? あまりパソコンやVC++、VC#を詳しく知らないので、詳しく教えていただけると嬉しいです。

  • VC++のコーディングについて

    VC++初心者です。 VC++のWindowsフォームアプリケーションを使用してテストプログラムを作ってみようと思っています。 初歩的な質問ですみません。 VC++でWindowsフォームアプリケーションを作成する場合、 フォームのヘッダーファイル(Form.h)にコーディングしていくものなのでしょうか? ボタンクリック処理など、ヘッダーファイルに作成されてしまいます。 私の先入観で、cppファイルにコーディングするものだと思っていたのですが、 VC++のWindowsフォームアプリケーションとは、こういうものでしょうか? ヘッダーファイルにコーディングするという感覚が何だか気持ち悪いです。 また、VC++を使用してWindowsアプリケーションを作る勉強がしたいのですが、 「初心者でも分かる+オススメの参考書籍」がありましたら、教えていただけると幸いです。 基本的な質問で意味不明かもしれませんが、ご回答いただけると助かります。 よろしくお願いします。

  • ListViewにSETしたファイル名からファイルパス取得方法

    今、ファイル名変換プログラムを作成しています。 そこで、ドラッグ&ドロップまたはフォルダ参照ダイアログから、 ファイルステータスをリストビューにセットしました。 (ファイル名)EX) XXXX.txt #その時、ファイルパスは取得できています。 その後、実行する時にリストビューから ファイル名は、GetItemTextで取得できました。 しかし、ファイルパスは取得できません。 ファイル名だけから、ファイルパスを取得するには、 どのようにしたら良いのでしょうか?? ファイル名の変更は、CFileDialog::Renameで考えているので、。。 それとも、他に良い方法はございますでしょうか? また、構造体かなんか定義して、 リストビューへSETする時に構造体にパスを保存し、 実行時に参照して処理すべきでしょうか? ただ、リストビューで選択し「DEL」ボタンで、 削除できるようしてあるので、 この方法は、効率が悪いように思えて・・・ 環境は、Win2000、VC++6.0、MFCで作成しています。 以上、ご教授ください!

  • VC++  Windowsアプリケーション作成

    【VC++ 2005 ExpressEdition】使用 ●今回、上記の環境を用いて簡単なWindows用ツールでも作成しようと思っております。  実際起動し、新しいプロジェクトの開始で、Windowsフォームアプリケーションを選択したのですが、初めから様々なcppファイルやらヘッダファイルがあり、プログラムもすでに大量に書かれていてどこにWinMainがあり、どこから書いていけばよいのか分かりません。 試しにボタンをフォームデザインで作成し、ダブルクリックによりイベントを作成してみたのですが、 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) このような文が表示されました。 過去にBolandの開発環境を使い1からウィンドウを作成したことがあり、BN_CLICKEDなどのメッセージが使われるのだろうと思っていたのですが全く意味が分かりませんでした。参考書やサイトに書いてあるプログラムもどこに書いてよいのか分かりません。 VC++でのWindowsアプリケーションの作成時の使い方をどなかた教えていただけないでしょうか。 尚、VC#、VBでのWindowsアプリケーション作成、C++でのWinAPIについては、かじった程度の経験はあります。

  • VC++のプログラミングについて

    VC++(verson2003)でテンプレートはMFCのダイアログベースでアプリケーションを作成しています。以下のプログラムはあるボタンをクリックしたときに呼び出される関数でエディット(コントロール変数m_edit1)に入力されたファイル名の内容(メモ帳に記述したテキスト文)を変数textに格納するものです。このプログラム書き換えてメモ帳に 3 1 4 9 のように記述した数字をint型の一次配列に格納するようにしたいのですがどのようにすればよいでしょうか。 void CprogramDlg::OnBnClickedButton1() { CStdioFile fin; char buf[1001]; CString text,filename; m_edit1.GetWindowText(filename); if (filename == "") return; if(!fin.Open(filename, CFile::modeRead | CFile::typeBinary)) {  AfxMessageBox("読み込みファイルをオープンできません");  return; } text = ""; while (fin.ReadString(buf,1000) != NULL) { text = text + buf; } fin.Close(); }

  • VC++6.0からVC++.NET2005へ移植

    VC++6.0で作成したプログラムをVC++.NET2005に移植しました。 ビルドを行うと『fatal error LNK1104:ファイル'mfc42.lib'を開くことができません。』のエラーが出てしまいます。 ソリューションのプロパティを見てもどこで「mfc42.lib」の参照を定義しているのか分かりません。 どこで「mfc42.lib」の参照を定義しているのか教えてください。また、対策を教えてください。

  • VC++2010で作ったアプリケーション

    最近VC++でアプリケーションを作りました。 VC++のMFCを使ってです。 簡単なカレンダーなのですが、・・・ そのカレンダーのプログラムをコンパイルするとexeファイルができ、 そのexeファイルをクリックすると、確かに起動し、アプリケーションを使うことができるのですが、 問題はここからで、 このファイル、自分のパソコン上では動くのですが、 ほかの人のパソコン上だと「コンポーネントが見つかりません、mfc100,dllが見つかりません」 とか言う警告が出てしまうのです。 なぜ他のパソコンでは起動できないのですか? もしかして、作ったアプリケーションは、exeファイルだけあってもだめなのでしょうか? よろしく願います。