暇人おやじの暇なつぶやき
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■Formから別のフォーム名の呼び出し
1、ソリューションエクスプローラにて プログラム本体の部分又はヘッダーファイルの部分を右クリック 追加メニューから新しい項目を選択する 画面が表示されるので、Windowsフォームを選び、ファイル名を入力する このファイル名がフォーム(クラス)の名前になる 2、メインフォームからこの画面を呼び出すには まずメインフォームのコードにこの画面を使う為にincludeする必要がある #pragma once #include "xxxxxx.h" ←1で作成した名前 そして呼び出す場面にて Form^ form2 = gcnew xxxxxx(); form2->ShowDialog(); これで呼び出すことが可能になる。尚「ShowDialog()」命令は画面をモーダル表示する ここで一つ不可解な事がある それは1番目のフォームの場合、クラス名でそのままアクセスできるのに2番目以降の画面の場合にはそのままでは利用できない、これはメイン画面の作成と2番目以降の画面では作成方法が異なっているからだ メインフォームの場合、プログラム本体(メイン プロジェクト ファイル)にて作成 // メイン ウィンドウを作成して、実行します Application::Run(gcnew FrmMain()); つまり、ApplicationクラスのRunメソッドで生成される ところが2番目以降の場合は Form^ frminit = gcnew FrmInit(); Formクラスにアクセスして実体化している そのため、同じgcnewを実行しているが、Formクラスの場合その戻り値がフォームの名称となるので、ファイルと同じ名称では利用できない これを回避するには、大文字、小文字を駆使する必要がある Form^ FrmInit= gcnew FrmInit(); ←これはコンパイルでエラーになる PR |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
ブログ内検索
|