C++での関数について

このQ&Aのポイント
  • C++での関数について初心者の方への解説
  • Form1から別の関数に飛ばす方法についての質問
  • C++の関数の基本的な作成方法と使い方について
回答を見る
  • ベストアンサー

C++ での関数について

C++ での関数について 先週Visual C++を始めたばかりの初心者です。 最初に作られるForm1から別の関数に飛ばしたいのですが、やりかたがわかりません。 どなたかお願いします。 \\\\\\\ 詳しく //////// Form1 ここにスタートボタンを作る Form2 Form1のスタートボタンを押すとこちらのウィンドウが起動し、実行される。 ちなみにForm2はプロジェクト名を右クリックし、「追加」→「新しい項目の追加」→「テンプレート」→「windowsフォーム」で作成し追加しました。 C言語はだいたい理解できているのですが、いまいちC++がわかりません。よろしくお願いします。

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

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

VC++で組んでるからC++の質問、と思うのもわからなくはありませんが、これは実のところC++とはあまり関係のない話です。「イベント」の使い方を憶えましょう。 流れとしてはForm1の持つスタートボタンを押すと「ボタンが押された」というイベントが飛んでくるので、Form2のオブジェクトを作成して表示する、となります。 あと、どーでもよくないんで一応言っておくとC++とC++/CLI(.Net用マネージコード拡張の入ったC++)は「別の言語」と言っていいくらいモノが違います。 Windowsフォームとか先週VC++を始めたばかりとかから推測するに、おそらく後者で組んでいると思いますので混同しないようにしましょう。

その他の回答 (1)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

とりあえず、C++の勉強を終わらせて更にC++/CLIの勉強をお勧めします。 あくまでC++/CLIはC++が分かっている人向けの言語だと思いますので。 C++プログラマのためのC++/CLI入門 http://cppcli.shacknet.nu/ C++/CLI 言語仕様書 http://vene.wankuma.com/ecma372/StartingState.aspx 私の場合は、C++/CLIは文法的にC++との混ざり具合が私にとって気持ち悪いので、.NetFrameWorkでウィンドウアプリを何か作るならC#を使いますけどね。 >Form1 ここにスタートボタンを作る >Form2 Form1のスタートボタンを押すとこちらのウィンドウが起動し、実行される。 Form1にボタンを追加してクリックイベントにForm2のインスタンス作成と表示を記述するだけです。「別の関数に飛ばしたい」とはだいぶやり方が違いますので、C言語の考え方から頭を切り替えないとWindowsアプリは作れませんよ。

関連するQ&A

  • visual c++でゲーム作成

    visual C++でwindows用のゲーム(RPG)を作りたいのですが、新規にプロジェクトを作るときのテンプレートは、windowsフォームは使わないのでしょうか。 visual basicで簡単なソフトを作っていたときは、このフォームから作っていたのですが、ゲームの場合はボタンやフォームは自分で作るのでしょうか。 また参考になる書籍やサイトがあれば教えていただけないでしょうか。 

  • 初心者です。VisualStudioについて教えてください。(C++)

    初心者です。VisualStudioについて教えてください。(C++) VisualStudioのWindowsフォームプロジェクトを作成すると 「Form1」という簡易画面が自動で作成されます。 その画面にボタン等を追加していくと、そのボタン押下時の処理が 「Form1.h」にどんどん追加されていきます。 なぜヘッダファイルに処理の実装を記述していくのでしょうか? 基本的に、ヘッダとは関数やクラスを定義するだけのもので 実装はcppファイルに記述していくものだと研修等で教わったのですが。 なぜなのでしょう? ご教授下さい。 また、「Form1.h」ではなく「*.cpp」ファイルに実装を記述したい場合 どうのようにすればよいのでしょうか?

  • Visual C++でクラス編集

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

  • Windowsフォームを思通りにデバッグできない

    こんにちは。Visual Studio 2012を勉強しようとしていますが、さっそくつまずきました。 言語はC#で、Windowsフォームを作成しました。 WindowsフォームでForm1というフォームを作成。 F5のデバッグの開始で正しく実行されました。 次にソリューションエクスプローラーから追加で、Windowsフォームを追加しました。このフォームの名前をForm2にしました。 これでF5のデバッグの開始をクリックしたら、Form1が起動してきました・・・ Form2でデバッグの開始を行いたいのですが、どのように実行すればよいでしょうか?

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

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

  • Visual Studio Pro 2015

    お世話になります。 Visual Studio Professional 2015 を購入して既定でインストールしました。 新規プロジェクトで Visual Basicのテンプレートにお決まりのようにあるはずの Windowsフォームがないのですが、どうしればテンプレートに表示されるようになるでしょうか? Visual Studio Professional 2012などで作成した既存のプロジェクトなどは2015で問題なく開けたので、新規プロジェクトでWindowsフォームが作成できないということはないと思うのですが・・・ Windows 10、Windws 8.1 などで既存インストール、カスタム全選択インストールの両方を試したのですがテンプレートにWindowsフォームの選択肢は表示されませんでした。 せっかく購入したのに、ものすごく焦っております。 Visual Basic のテンプレートにWindowsフォームを表示させる方法をご存じの方、何卒ご指導いただければと思います。 よろしくお願いいたします。

  • C++/CLIとMFC

    よろしくお願いします。 環境はVisual C++ 2005です。 ご存知の方がいらっしゃいましたらご教授ください。 一つのプロジェクトで作成した親Formに対して、 もう一つのプロジェクトで作成した子ウィンドウをプラグインさせ、MDIを作ろうとしているのですが [CLR]->[Windowsフォームアプリケーション]で作成したプロジェクトのFormに対して MFCで作成した子ウィンドウをプラグインさせることは可能なのでしょうか? C++/CLIでMDIを作る時は MDIの親となるFormのIsMdiContainerプロパティをtrueに設定し、 MDIの子となるFormのMdiParentプロパティをMDIの親Formの インスタンスに設定する必要があると思うのですが、 子の部分をMFCを使って作成した場合どのようにすれば 親子関係が作れるのかわからず質問させていただきました。 よろしくお願いします。

  • デバック開始ファイルを変えたい

    こんにちは、 visual studio 2010 C#環境で勉強をしており 最初、クラスファイルを追加してデバック開始していたのですが、 途中からwindowsフォームを追加し、こちらをデバック開始起動させたいのですが、 方法がわかりません。 プロジェクトのプロパティ→アプリケーションの欄をみたのですが、スタートアップオブジェクトの ところにformがなかったものでして。

  • C#で3Dボタンを作成する方法

    Visual C# にて、「Windowsフォームアプリケーション(.NET Framework)」プロジェクトを作成し、フォーム上にボタンとテキストボックスを配置し実行すると、添付の図1のようになりますが、このボタンをクラシックスタイルの3Dボタン(図2のように、ボタンの上辺と左辺が明るく、下辺と右辺が暗くなっているボタンです)のようにするにはどうすればいいですか? ボタンのプロパティのうちのどれかを弄れば出来そうな気がするのですが、それらしいものが見当たりません。単に見つけられていないだけでしょうか。 よろしくお願いします。

  • Visual C# 2005 Express Edition の使い方について教えてください(初歩の初歩です。)

    Visual C# 2005 Express Editionの使い方?について困っています。 ファイル―新しいプロジェクト を選択し、「新しいプロジェクト」ダイアログボックスを開きました。 そこで、どれかテンプレートを選び、プロジェクト名を入力後、OKボタンを押す、というのが普通の流れだと思うのですが、なぜかどのテンプレートを選択しても、OKボタンが押せなくて困っています(いつまでもボタンがへこんだままということです) これは一体どういうことなのでしょうか?自分なりに色々調べてみたのですがやはりこういうところでつまずくのはかなり異例なのか全くわかりませんでした。 どなたか解決方法がわかる方がいれば教えてください。

専門家に質問してみよう