• 締切済み

C++.NETでのことです、モードレスダイアログことについて

本当にC++.NETの初心者なのですがどうしても作らなくてはいけないプログラムがあります。まだまだわからないことだらけです。ダイアログからダイアログの呼び出し方が分かりません。追加クラスとかどこになにを書いていいとか、細かく教えていただけたらとても嬉しいです。よろしくお願いします。返事待っています。

  • tuboi
  • お礼率16% (1/6)

みんなの回答

回答No.6

ヘッダファイルのインクルードを忘れているのでは。クラスウィザードでスケルトンコードの作成するだけではいけません。 当該のクラスを利用するソース内ではヘッダのインクルードが必要です。 後はプリコンパイルドヘッダの悪癖にも注意することです。いったんクリーンをしてからビルドしなおしましょう。

回答No.5

> …わかりませんか? わかります。 「コピー&ペーストではダメ」ってことです。 あなたのコードに合わせて修正してください。 もっと勉強してください。 でないとどっちみちまともなプログラム書けません。

回答No.4

> 実行しても色々なエラーがでてしまいます。 "色々なエラー"で理解できるほど霊感鋭くありません。 > コピー&ペーストだけじゃだめなのですか? 知らん。ダメだったのなら、ダメなのでしょう。 # コピー&ペーストでうまくいったらそれでいいのですか?

tuboi
質問者

補足

c:\vcppnet\modless\modless.cpp(78): error C2143: 構文エラー : ';' が '*' の前にありません。 c:\vcppnet\modless\modless.cpp(78): error C2501: 'CMyDialog' : 識別名を宣言するのに、型が指定されていません。 c:\vcppnet\modless\modless.cpp(78): error C2501: 'pDialog' : 識別名を宣言するのに、型が指定されていません。 c:\vcppnet\modless\modless.cpp(80): error C2653: 'CMyWnd' : 識別子がクラス名でも名前空間名でもありません。 c:\vcppnet\modless\modless.cpp(83): error C2061: 構文エラー : 識別子 'CMyDialog' c:\vcppnet\modless\modless.cpp(87): error C2227: '->Create' : 左側がクラス、構造体、共用体へのポインタではありません。 c:\vcppnet\modless\modless.cpp(87): error C2065: 'IDD_MYDIALOG' : 定義されていない識別子です。 c:\vcppnet\modless\modless.cpp(87): error C2673: 'OnSomeAction' : グローバル関数にアクセスするための 'this' ポインタがありません。 c:\vcppnet\modless\modless.cpp(90): error C2227: '->ShowWindow' : 左側がクラス、構造体、共用体へのポインタではありません。 などがでます。わかりませんか?

回答No.3

> クラス継承とかやはり詳しいことが書いてありません、ので分かりません。 ↓これ読んでもわかりませんか? まんまモードレスダイアログのサンプルですけど。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/yhth57kd(VS.80).aspx
tuboi
質問者

お礼

すいません。参考のURLをみたのですが、実行しても色々なエラーがでてしまいます。コピー&ペーストだけじゃだめなのですか?返答お待ちしております。

tuboi
質問者

補足

ありがとうございます!これをみてやってみたいと思います!

回答No.2

> 教本を持っているのですが、モーダルダイアログのことしか書いていないのです。モードレスが載ってません。 マニュアル(MSDN)は読みましたか? # ヒント: Create

tuboi
質問者

補足

Createを使うことがわかりましたが、クラス継承とかやはり詳しいことが書いてありません、ので分かりません。なんとかならないでしょうか?力を貸してください。

回答No.1

Visual C++ のことだろうと思いますが、VC++でのWindowsアプリケーションには Win32-API, MFC, Windows Forms の三種があります。 どれを使って、ですか? また、教本はお持ちではないのですか? 大抵の教本に書かれているはずですが。

tuboi
質問者

補足

お返事ありがとうございます。MFCを使いプログラムを書こうとしております。教本を持っているのですが、モーダルダイアログのことしか書いていないのです。モードレスが載ってません。できたら詳しく1から説明してもらえませんか??他に出来たら教本を教えていただけませんか?まことに恐縮です。

関連するQ&A

  • モードレスダイアログを作成しようと思ったら....。

    環境:Win2000pro, VC++6.0sp6, MFC, ダイアログ ベースにてモードレスのダイアログ表示を行おうと思い 表示したいダイアログクラスをCModelessDlgとし、 基本となるクラスをCTestDlgとして、CTestDlgの メンバ変数にCModelessDlg* pDlg;と宣言したのですが、 コンパイルを実行すると、下記のようなエラーが出ます。 (1)error C2143: 構文エラー : ';' が '*' の前に必要です。 (2)error C2501: 'CModelessDlg' : 識別名を宣言するのに、型が指定されていません。 (3)error C2501: 'pDlg' : 識別名を宣言するのに、型が指定されていません。 宣言が間違っている時等のお馴染みのエラーですが、何故 出るのかが分りません。ダイアログクラスの作り方等が いけないのでしょうか? どなたか、推測でも構わないのでよろしくお願い致しま す。

  • モードレスダイアログの作成について

    http://www.athomejp.com/goldfish/mfc/dialog/modeless.html これを参考にモードレスダイアログを勉強しています。 ************************* クラスウィザード(Ctrl+W)で、新規ダイアログを追加します。 クラス名をCTestDlgとします。 CModelessDlgクラスにCTestDlgのデータメンバを追加します。 (ヘッダーも追加してください) ************************* この時点でコンパイルすると、 'CTestDlg' : 識別名を宣言するのに、型が指定されていません。 と言われます。 どうすれば対処できますでしょうか? よろしくお願いいたします。

  • C#でダイアログボックスはどこにあるのでしょうか

    C#初心者です。以前VBを使っていた時にはダイアログが選べたんですけど、C#で新しい項目の追加をしてもFORMは出てくるんですが、ダイアログが出てきません。 何を追加すればVB6のときのダイアログに相当するのか教えて下さい。

  • C#のクラスをVB.netで使用したい!

    お世話になっております。 C#で、wave音声ファイルを録音する機能を持ったクラスファイルがあります。 これをvb.netで使用したいのですが、使用方法がよくわかりません。 vb.netで「既存項目の追加」で、C#のcsファイルは追加できたのですが、 これをvb.netのモジュールで宣言して使用する方法を教えていただきたいのです。 検索してもうまくヒットせず、こちらで教えていただきたく ご質問させていただきました。 【環境】 ・windows mobile 5.0 pocketPC用プログラム(.net compact frame3.5) よろしくお願いいたします。

  • VC.NET(C#)のクラスライブラリをBCB(C++)で使用したい

    タイトルにあるように、 VC.NET(C#)のクラスライブラリを作成したのですが、 BCB(C++)での使用方法がわかりません。 BCBでプロジェクトに追加で、Dllを追加するのだろうと言うのは わかったのですが、 ソース上で、Dllをどのように呼び出したらよいのかわかりません。 Dllをプロジェクトに追加する以前に、何かしなくてはならないことがあるのでしょうか? よろしくお願いいたします。

  • モードレスダイアログ

    お世話になっております。 VC2005を使用しております。 メインウィンドウの他にモードレスダイアログを常時表示させたいと 考えております。 ダイアログのプロパティのTopmostをTrueにすると常時手前に表示されるのですが、メインウィンドウを最小化したり、他のプログラムを起動した時も常に前面に表示されてしまいます。 メインウィンドウと同じように動作するにはどうすればよいのでしょうか?教えてください。 よろしくお願いします。

  • クラスウィザードは.NETでどうなった?

     Visual C++6.0では、クラスウィザードって言うのがありましたよね。  ところが、Visual C++.NETではどこを探してもそんなものがありません。プログラムを組んでいて、たとえばタイマ処理をしたいと思ったときに、今までクラスウィザードを使って関数を生成していたのが、どこから関数をしていたらいいのかわからなくなりました。  まず、タイマーの内容を記述する関数「OnTimer」関数をどうやって追加したらいいのかさえわかりません。  クラスウィザードが見つからないので、生成方法がわからないのです。どなたか教えてください。

  • Visual C++ で画像表示

     非常に初心者な質問で申し訳ないのですが、Visual C++.NETで画像を表示させるプログラムの作成の仕方がわかりません。  作っているプログラムはダイアログベースで、ダイアログの中にイメージボックスとコマンドボタンが貼り付けてあります。実行した際にコマンドボタンを押すと、ある画像がイメージボックスに表示されるようにしたいのです。  ライブラリや本をいろいろ調べたのですが、具体的なやり方まで示してくれる本は残念ながら出会えませんでした。  どなたか教えてください。よろしくお願いします。

  • VB.NETでただの実行ファイルを作る方法

    VB.NETでプロジェクトを作成すると、イベント型?ダイアログベースのプログラムになってしまうのですが、ダイアログ(フォーム)を用いないプログラムにするにはどうすればよいのでしょうか? C言語でいうMain()から始まるプログラムにしたいのです。

  • C++かCの再選択 

    いつもお世話になっています。 c++の初心者ですが、煮詰まったので質問させてもらいます。 私はC++の入門書を理解し2~3個のコンソールプログラムを作った位のレベルです。煮詰まったのは、このままC++を勉強するかそれともCを勉強した方がいいのか迷っています。Cは知らないのでC++入門書を勉強した時、Cを勉強しているのと一緒なのですか(軽くSTL、オブジェクト志向の考え方を追加した感じ) Cのほうが文法、メモリの動きなどサンプルプログラム を作るにもクラスをつくる手間が省け簡単に書けますし 早く習得できると思うのですが。気になったのは ここの書き込みで、Cの拡張がC++とCとはC++ は異言語の意見があり、私にはわかりません。 ただ「C++がわかっていてCを知らない人はいない」との意見に納得した事もあり私の選択は間違っていた のかなと思ったのです。できればC->C++経験者と いきなりC++経験者のアドバイスが聞きたいのです。