• 締切済み

Visual C++でクラス編集

Vista上で、MSVS2008EEのVisual C++を使っています。 http://www.microsoft.com/japan/msdn/vstudio/express/ サブスレッドを使用するWinアプリを作ってるのですが、ヘルプに書かれていることができなくて困っています。 ファイル-新規作成-プロジェクトで、CLRのWindowsフォームアプリケーションでプロジェクトを作りました。 フォームデザインで見た目を作った後、スレッドオブジェクトを使おうと、クラス追加をしました。 クラスビューをアクティブにして、プロジェクト-クラスの追加で、C++のC++クラスで名前を入力して追加しました。 ウィザードで、名前Work、基本クラスにThreadを入力して完了ボタンを押しました。 これでクラスビューに追加したクラスが表示されます。 ヘルプでは、メソッドの追加はクラス指定して右クリックのメニューから、とあるのですが、この表示されたものに対して行ってもメニューにそのような項目はありません。 それと、CLRのThreadを認識していない感じもしています。 というのは、クラスビューで階層を見ると、基本クラスのThreadに関する情報がまるでないからです。 何がおかしくて、どうすればいいのでしょうか。

みんなの回答

回答No.2

基本クラスの指定は System::Threading::Thread ではなくて?

g7958513
質問者

お礼

お二方、レスありがとでした。 完全に解決したわけではないのですが、進展があったのでひとまず締め切りたいと思います。 まず、Thread自身ですが、ヘルプとにらめっこしたところ、使い方に問題があったようです。 元はTurbo C++を使っていたのですが、そちらではスレッドオブジェクトのクラスからユーザが派生クラスを作成し、その中にスレッドで行う処理を書くという使い方でした。 そのため、てっきりThreadから派生クラスを作るものとばかり思っていました。 ヘルプを見たところ、派生を作るのではなく、処理をするメンバ関数にオーバーロードするような使い方というのがわかりました。 こちらはこの方法で進めてみるつもりです。 ヘルプについてですが、VC++だけだと、紹介されたヘルプ以外にも見れない部分が多々ありました。 よく見てみると、MSVSではヘルプが一部しか入らないというような記述があり、MSDNライブラリを別に入れろというような記述もありました。 リンクされたダウンロードページは切れてたのですが、オフィシャルで別に探すことができたので、それをインストールしてみました。 すると、紹介されたページも見ることができました。 別にダウンロードしたものはこれです。 http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373 これでもドキュメントエクスプローラがインストールされるようなのですが、インストール後にバージョンを見たところ、前と変わらずでした。 見れるか見れないかは、ドキュメントエクスプローラ自体ではなく、そこから参照するものの有無によるようです。

  • wwsm
  • ベストアンサー率0% (0/0)
回答No.1

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.ja/fxref_system.threading/html/12e08039-e8ba-962e-89d0-d7a8fcffed2c.htm が参考になりませんか?

参考URL:
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.ja/fxref_system.threading/html/12e08039-e8ba-962e-89d0-d7a8fcffed2c.htm
g7958513
質問者

補足

私のドキュメントエクスプローラはVC++のものでバージョン9.0.30729.1 SPというものです。 そこのURLに教えていただいたものを指定すると、表示できませんとなってしまいます。 私の見てるヘルプとアドレスを比較すると、MSDNQTR.v90.jaの部分がMS.msdnexpress.v90.jaとなっています。 違うソフトのヘルプ??? それとも、VC++からそのヘルプを見る方法があるのか???

関連するQ&A

  • VS C# 2010でクラスビュー不可

    VisualStudio C# 2010でクラスビューを開きたい。 MSDNの通り、コードエディタ開いて、[表示]メニューをポイントしたが、 "クラスビュー"が出てきません。どうしてでしょうか。

  • C# フォームを追加するとエラー

    C# 勉強中の者です。Visual Studio 2008 を使用しています。 既に一つのフォームで実行できているプロジェクトがあり、[プロジェクト]-[Windows フォームの追加]から追加してフォームを2つにしてみようと思いましたが、以下エラーが出てしまいます。 <エラー内容> ファイル内にデザインできるクラスがないため、このファイルのデザイナを表示できませんでした。ファイルの以下のクラスがデザイナで見つかりました: Form2 --- 基本クラス 'System.Object' をデザインできません。 <このエラーのヘルプ> Visual Studio 内のクラスが、画面上でデザインできるクラスから継承されていないため、ファイルのデザイナを開けません。 どうすればフォームを追加することができるのでしょうか? よろしくお願いします。

  • MSDNサイトの解説説明に疑問(Visual C#2008)

    Visual C#2008を使用しています。 他に質問コーナーが見当たらないので、VC#2008の件ですがここに(C,C++の質問サイト)質問致しました。 質問ですが、VisualC#関連のMSDNサイトの解説記事はVC#2008には対応していない(古い?)ものなのでしょうか? たとえば下記ページの説明です。 http://msdn.microsoft.com/ja-jp/library/a6h7e207.aspx 「チュートリアル : Visual C# による複合コントロールの作成」とい う内容で「プロジェクトの作成」「ctlClockLib コントロール ライブラリおよび ctlClock コントロールを作成するには」 という親切な手順での解説があります。 しかし、このとおりに進めても作成できません。 書いてある「メニュー項目」などが実際と異なっているからです。 上記ページだけではなく、Visual C#に関する他のページもVC#2008には対応していないです。 具体的には、最初の1. 2.の説明でさえも、[MSDNの説明]のようになっていないのです。 [MSDNの説明] 1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックして [新しいプロジェクト] ダイアログ ボックスを開きます。 実際は次のようになります。 [ファイル] メニューの [新らしいプロジェクト] をポイントし、表示されたテンプレートの[Windowsフォームアプリケーション]をクリックしVC#2008の開発IDE画面を開きます。 [MSDNの説明] 2. Visual C# プロジェクトの一覧の [Windows コントロール ライブラリ] プロジェクト テンプレートをクリックし、[プロジェクト名] ボックスに「ctlClockLib」と入力して、[OK] をクリックします。 実際は次のようになります。 VC#2008の開発IDE画面のメニュー[プロジェクト]の[ユーザーコントロールの追加]をクリックして表示されたテンプレートから[ユーザーコントロール]をクリックし[ファイル名]ボックスに「ctlClockLib」と入力して、[OK] をクリックします。 ----- [MSDNの説明]は具体的ですので単純なミスがあるとも思えないのです。 VC#2008となぜ操作方法などが異なるのか、またはVC#2008のMSDN説明サイトはここにあるよ、というアドバイスがありましたら教えてください。 よろしくお願いします。

  • Visual C++ 2008 Express EditionでCのコンパイルは可能ですか?

    Visual C++ 2008 Express Editionを使いプログラムをC++で書いていたのですが、 Cで書かなくては駄目な状況になりVisual C++ 2008 Express Edition でもCのコンパイルが出来るのかを教えて貰いたいです。 試してみたところ出来そうになくて困っています。 Visual C++ 2008 Express Editionの導入方法は以下のURLの通りにしました。 http://www.microsoft.com/japan/msdn/vstudio/express/beginners/2008/visualc.aspx なにか追加で入れる事で使える様になるのか、もしくは出来ないのかよろしくお願いします。

  • Visual C++ 6.0 でクラス表示が消えてしまう

    『3週間完全マスターVisual C++ 6.0 』という本を参考に、Mouse という以下のプロジェクトを始めました。 Mouse のアプリケーションタイプ: 以下に示すターゲットのダイアログベースアプリケーション: Win32 作成されるクラス: アプリケーション: CMouseApp クラス ; Mouse.h , Mouse.cpp ダイアログ: CMouseDlg クラス ; MouseDlg.h , MouseDlg.cpp 特徴: + システムメニューにバージョン情報を付加 + 3D コントロール + 共有 DLL を使用 (MFC42.DLL) + ActiveX コントロールのサポート + リソースの言語: 日本語 発生している問題は、この中の CMouseDlg というクラスにメンバー変数を追加するためにワークスペースウィンドウの ClassView タブを選択し、Mouse クラスのツリーを展開したのですが、CAboutDlg, CMouseApp, グローバルという3つのクラスしか表示されず、肝心の CMouseDlg というクラスが全く表示されず、メンバー変数を追加したくてもできない、という状況です。ソースファイル内を探せば確かに CMouseDlg クラスは存在する(正確にはMouseDlg.hというヘッダーファイル内に)のですが、ワークスペースウィンドウ内に表示されない理由がわからず困っています。 もっと正確に言いますと、プロジェクトを開始した直後にワークスペースウィンドウで Mouse クラスのツリーを展開すると、ちゃんと CMouseDlg クラスは表示されるのですが、その後 ClassWizard を使って MouseDlg.cpp というインプリメンテーションファイル内にある、ある関数にコードを追加しようとすると、突然 CMouseDlg クラスがツリー表示から消えてしまいます。 どなたか理由のわかる方がいましたら御教授ください。説明が足りなければいくらでも補足します。宜しくお願いします。

  • Visual C#で、usingが出来ないクラスがある?

    最近、Visual C# 2005 Express EditionでC#の勉強を始めた者です。 いくつかテストプログラムを実行しようと思ったのですが、JavaのEclipse等と操作感覚の違いに戸惑っています。 質問なのは、usingできるクラスについてです。 新しいプロジェクトを作成する時、「Windowsアプリケーション」を選択すると、次のusingが使えます。 > using System.Windows.Forms; しかし「コンソールアプリケーション」を選択した場合、上記のusingは使用できないのです。 ただ、プロジェクトの「参照設定」で.Netタブの「System.Windows.Forms」を追加すれば、一応使えるようになります。 考えてみたのですが、もしかしてプロジェクトを作成する時に選択する「Windowsアプリケーション」や「コンソールアプリケーション」は、参照設定に追加する内容が違うという事なのでしょうか? 一応使う事が出来るので、今の所は問題ではないのですが、付属のマニュアルを読んでも詳細が解りにくく困っています。 私の認識は間違っているのでしょうか?

  • COMを使いたい(C#)

    C#初心者です。 .Net 2003でC#のプロジェクトを作ろうとしています。 PlatformSDKのサンプルを見て、以下のコードを追加し、必要と書かれてあったヘッダとライブラリを[追加]-[既存項目の追加]でプロジェクトに追加しコンパイルしたところ以下のエラーになります。 <追加コード> private IBackgroundCopyManager* g_XferManager = NULL; private HRESULT hr; <エラー内容> 「型または名前空間名'IBackgroundCopyManager'がみつかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。」 どのように修正したらよいでしょうか。 http://www.microsoft.com/japan/msdn/vstudio/techinfo/articles/upgrade/Csharpintro.aspより抜粋 ---ここから--- C# では、明示的に IUnknown などの COM インターフェースをインプリメントしなくても、全てのオブジェクトを自動的に COM オブジェクトとする機能が内蔵されています。同様に、C# では、既存のどのような言語で記述された COM コンポーネントでも、ネイティブに利用することができます。 ---ここまで--- とあるのですが、何か作業が必要でしょうか。 Cでいうところのinclude文のようなものが必要ですか?

  • Visual C++ 2008 Express Editionについて

    Visual C++ 2008 Express Edition でプログラミングをしていたのですが、クラスビューにツリーが表示されなくなってしまいました。 以前までは、新しくプロジェクトをつくり、となりの+を押したら、ソース、ヘッダー、みたいな感じででていたのですが、それが出なくなってしまいました。 どうすればそれらがでるのか、ご教示お願いします。

  • Visual C++ 2005 Express Edition で Microsoft Platform SDK を使うには

    C++ 2005 Express Edition で Microsoft Platform SDK を使いたいのですが、設定の仕方が良くわかりません。 http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ というサイトに一応説明があったんですが、 手順3の、 [オプション] ダイアログ ボックスの [プロジェクトとソリューション] セクションで [Visual C++ フォルダ] を更新します。 このセクションでは、適切なサブセクションにパスを追加します: Executable ファイル - 「C:\ProgramFiles\Microsoft Platform SDK\Bin」 Include ファイル - 「C:\Program Files\Microsoft Platform SDK\include」 Library ファイル - 「C:\Program Files\Microsoft Platform SDK\lib」 というところのどこにファイルを追加するのかと、ファイルの追加の仕方が良くわかりません。オプションで、VC++ディレクトリというところにいくまではわかるのですが、その先がわかりません。困っているので、よろしくお願いします。

  • C#の同一プロジェクト内でWindowsフォームを継承するには?

    いつもお世話になっております。 現在C#でWindowsアプリケーションを作成している ところなんですが、不明な点が解決できないため、 質問させていただきました。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtsksubclassingforms.asp に書いてある内容を参考にすると、別な プロジェクトで作成したクラスの Windowsフォームを継承するというのは 可能だということはわかったんですが、 同一のプロジェクト内で親クラスの Windowsフォームを子クラスが継承する 方法がわかりません。 ご存知の方がいらっしゃいましたら、 ご教授いただけませんでしょうか?

専門家に質問してみよう