- ベストアンサー
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については、かじった程度の経験はあります。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>VC++でもフォームデザイナを用いて簡単にできるだろう~ どちらかというとVC#の方がGUIには特化しています。 >Win32では、やはり1からプログラムを書いて >作っていかなければいけないのでしょうか。 VC2005EEでWin32アプリケーションのGUIを作成するならを ガチガチに1からCreateWindowなどで書かないと ダメだと思います。。。 #フリーのリソースエディタやなんかを使えば少しは #楽かも知れませんが。。。。 MFCなどを使えばメッセージマップハンドラなどは簡単ですが 先の回答の通り、VC2005SE以上でないと使えません。 #SE以上ならリソースエディタも使えるのかな。 VC#での経験があるならそっちの方が楽な気もします。
その他の回答 (4)
- zwi
- ベストアンサー率56% (730/1282)
>VC++でもフォームデザイナを それがC++/CLIですね。C#と同じ中間コードランタイムで走りますので、機能的には似てますが、MFCを使うことも出来ます。MFCはVisualStudioの有料版のみ利用可能です。 無料のVisualStudioでは、C++/CLIを使うかWindowsAPIで1から書くことしか出来ません。 有料ののVisualStudioでは、MFCのリソースエディタで「フォームデザイナ」と同様なことが出来ます。 >追加で質問で申し訳ないのですが、後々DirectXを使用したいと思っているのですが、、「Win32 コンソール アプリケーション」の方でDirectXは使用できるのでしょうか。 DirextXは、C#,C++/CLI,そしてWin32レベルで使うことが出来ますので、今の無料の環境で使うことが出来ますよ。
- aris-wiz
- ベストアンサー率38% (96/252)
コードを見る限り、CLIのような。。。。 >BN_CLICKEDなどのメッセージが使われるのだろうと思っていた BN_CLICKEDはCButtonなどで使用されるメッセージです CButtonはMFCのクラスでVC++ 2005 ExpressEditionでは MFCを使用することはできません。 StandardEditionにアップグレードが必要です。 また、VC2003以降、WindowsAPIを使用してWindowsアプリケーションを 作成する際にはPlatformSDKまたはWindowsSDKが必要です。
補足
回答ありがとうございます。 今現在の状況ですが、みなさんの意見を参考に、 ○http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/に書かれている作業を行い、新規→Win32コンソールアプリケーション→Windowsアプリケーション を選択することができました。 ○試しにメッセージボックスを表示するプログラムを作成しようとしたところ<windows.h>がインクルードできませんでした。 → インクルードパスの設定をやり直したところ解決しました。 ○次に、 MessageBox(NULL,"aaa","bbb",MB_YESNO); このような1行を書いたところ文字列の変換でエラーが出ました。 →構成プロパティの文字セットの設定を変えることで解決しました。 ○ビルドが成功し、メッセージボックスが表示することができました。 おかげさまでプログラムを書き込み実行できるところまでは来たのですが、 VC#などではフォームデザイナを使い簡単にウィンドウやイベントを作れました。 VC++でもフォームデザイナを用いて簡単にできるだろう~ と期待していたのですが、Win32では、やはり1からプログラムを書いて作っていかなければいけないのでしょうか。 なんとなくですがCLIというものとは違うというのは理解できました。 長文失礼しました。
- redfox63
- ベストアンサー率71% (1325/1856)
VC2005EEの場合プラットフォームSDKの導入をしないと WinAPI系のアプリケーションの作成は出来ません 出来るのは .NET Frameworkを使った マネージド環境のフォームアプリケーションなどです VB.NETやVC#などと同じ土俵のアプリケーションになります したがって BN_CLICKEDなどのメッセージではなく オブジェクト(ボタンやコンボボックス)のイベントに関連付けされたハンドラを使ってコーディングする事になります フォームまたはボタンなどを選択した状態で プロパティウィンドウの『雷マーク』をクリックするとそのオブジェクトで公開されているイベントの一覧が表示されます 処理したい項目の右側の余白をダブルクリックするとそのイベントのスケルトンを作成してくれます マネージド環境なので オブジェクトはポインタで参照する形になります ただ C/C++のポインタの表現と異なり宣言が Object^のように *の代わりに^を使います ポインタからの参照の演算子は変わらず -> を使います 付属のMSDNで『プロジェクト 作成する』などをキーワードにして検索し 『方法 : Windows アプリケーション プロジェクトを作成する』を参照してみましょう 当方の環境ですと ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_mancli/html/2d9daec0-0543-41d0-acb1-964f685bddbb.htm といったURIでした ・・・
- Wr5
- ベストアンサー率53% (2173/4061)
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ に書かれている作業は済んでいますか? 「C++で」作成する場合は、「Win32 コンソール アプリケーション」を選択する必要がありますが。 # リンク先の下の方に書かれています。
補足
回答ありがとうございます。 コンソールを選択しても普通にWindows用アプリケーションを作成できるのでしょうか。 追加で質問で申し訳ないのですが、後々DirectXを使用したいと思っているのですが、、「Win32 コンソール アプリケーション」の方でDirectXは使用できるのでしょうか。
お礼
みなさんありがとうございました。 とりあえず有料版を買うまでは1からコツコツ書いていきたいと思います (´ρ゜) VC#ではDirectXの使用方法が若干ややこしく情報も少なかったので説明サイトの多いVC++でやることにしました。