VC++初心者です。
VC++のWindowsフォームアプリケーションを使用してテストプログラムを作ってみようと思っています。
初歩的な質問ですみません。
VC++でWindowsフォームアプリケーションを作成する場合、
フォームのヘッダーファイル(Form.h)にコーディングしていくものなのでしょうか?
ボタンクリック処理など、ヘッダーファイルに作成されてしまいます。
私の先入観で、cppファイルにコーディングするものだと思っていたのですが、
VC++のWindowsフォームアプリケーションとは、こういうものでしょうか?
ヘッダーファイルにコーディングするという感覚が何だか気持ち悪いです。
また、VC++を使用してWindowsアプリケーションを作る勉強がしたいのですが、
「初心者でも分かる+オススメの参考書籍」がありましたら、教えていただけると幸いです。
基本的な質問で意味不明かもしれませんが、ご回答いただけると助かります。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> 私の先入観で、cppファイルにコーディングするものだと思っていたのですが、
> VC++のWindowsフォームアプリケーションとは、こういうものでしょうか?
VC++が自動的に吐くコードがC++の標準(つか規範)である「宣言はヘッダ/実装はcpp」に反しているだけです。
ヘッダ内に書かなければいけないなんてルールはどこにもありません。
> ヘッダーファイルにコーディングするという感覚が何だか気持ち悪いです。
僕も嫌いです。反吐が出ます。
なのでVC++が吐いたコードの宣言部だけ残し、実装はcppに移しています。
epistemeさんへ
ご回答ありがとうございます。
的確なアドバイスありがとうございます。
実際に宣言部だけヘッダに残して、実装をcppに移そうと思ったのですが、
どの部分を残して、どの部分を移せば良いのか分かりませんでした。
お時間ある時で構いません。
何か具体的ソースコードを一例にご教示いただけると幸いです。
「フォーム上にボタン1つで、ボタンクリックするとラベルのテキストが変わる」などの
簡単を例にしていただけると助かります。
お手数をお掛けして申し訳ございませんが、よろしくお願いします。
No.6
- 回答日時:
少なくともC++初心者がVC++のフォームアプリ(C++/CLI)を作るのは止めた方が良いと思います。
止む終えない事情があれが別ですが。私は、VC++のフォームアプリはC++の熟練者が.NetFrameWorkを使って容易にウィンドウをアプリを構築するためのものと思っています。
C++とC++/CLIの文法の違いやクラスの何とかも分からない人がやるには難しすぎると思うのですが、prapragmaさんはC++には慣れておられるのでしょうか?
zwiさんへ
ご回答ありがとうございます。
恥ずかしながらC言語しか分からず、C++も初心者です。
いきなりハードルの高いものに飛びついてしまいました(汗)
まずは、C++から勉強したいと思います。
的確なアドバイスありがとうございます。
No.5
- 回答日時:
#1です。
> #3
>ヘッダに実装を書くと実装に変更を加えるたびにそれをinclude
>しているすべてを再コンパイルしなければならなくなります。
それは知ってるけど、システムのトップ階層(メインフォーム)なら、
includeされることが無いからどっちでもいいと思うけど?
GUIアプリケーションのメインフォームは汎用性無いことが多いですし。
・・・とは言っても実は私も分けています(^ ^;
Builder使うこと多いですし。
No.4
- 回答日時:
> 何か具体的ソースコードを一例にご教示いただけると幸いです。
僕はフォームに関わる部分にC++/CLIを使いません。
C#の方が楽ですからから。 C++の方が書きやすい部分をC++/CLIで書き、
C#から呼び出しています。
No.3
- 回答日時:
> 定義と実装を一つのヘッダ".hpp"で管理することがよくあります。
とんでもない、原則「やっちゃダメ」です。
ヘッダに実装を書くと実装に変更を加えるたびにそれをinclude
しているすべてを再コンパイルしなければならなくなります。
宣言と実装を分離するのがC++の流儀です。
# 唯一の例外がtemplate
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(SNS・コミュニケーションサービス) ゲームでボイスチャットを使いたいんですが、親にどう説明したらいいですか 2 2022/08/03 14:07
- オンラインゲーム もうすぐスプラトゥーン3が発売されるということで、現在購入しようか迷っています。 私は完全初心者で、 1 2022/08/27 01:38
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- オンラインゲーム VCしながらゲームしたい… 2 2022/06/11 16:04
- Google Drive Google form を利用して 問い合わせフォームを作りたい 1 2022/04/25 14:15
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストボックスの選択解除
-
VB.net(VB)で、フォームにExcel...
-
Access 無操作の場合、自動で閉...
-
Access2010で動的コントロール...
-
VBAにてメッセージボックスを最...
-
accessで2つ以上のフォームを起...
-
フォームを1つだけ閉じる方法は?
-
ExcelVBAでフォーム内でブック...
-
WithEvents変数について
-
PDFフォームに本日の日付を自動...
-
PDFフォーム内で日付計算したい...
-
アクセスVBA フォームのス...
-
アクセス フォームが存在する...
-
フォームの左上のアイコンだけ...
-
ユーザーフォーム上にアイコン...
-
ボタン押下でサブフォームのレ...
-
サブフォームの新規レコードに...
-
VB.NET 親フォームから子フォー...
-
ACCESS フォーム、クエリの最前...
-
ASP.NETとC#でWebフォームを呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VB.net(VB)で、フォームにExcel...
-
Accessでフォームから別フォー...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
ユーザーフォーム上にアイコン...
-
アクセスVBA フォームのス...
-
VBプログラムの終了
-
アクセス フォームが存在する...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
メッセージボックスの背景色
-
PDFフォーム内で日付計算したい...
-
VBA リストボックスをダブルク...
-
Access 無操作の場合、自動で閉...
-
ディスプレイ解像度より大きな...
-
フォーム上の全てのコントロー...
-
ToolStripStatusLabelを固定し...
おすすめ情報