2つのフォームの交互提示
Visual C++2012/CLRでWindowsフォームアプリケーションを空のプロジェクトから作成するとき、1つのメインフォームを扱うプログラムも複数のフォームを扱うプログラムも同じように書くことができる。例えば、2つのフォームを交互に提示するプログラムは次のようになる。
#include "MyForm.h"
#include "MyFormNoFrame.h"
#include "common.h"
using namespace TwoForms;
[STAThreadAttribute]
int main(){
MyForm mf;
MyFormNoFrame mfnf;
ck_exit = false;
do{
mf.ShowDialog();
if (ck_exit) break;
mfnf.ShowDialog();
if (ck_exit) break;
}while(true);
return 0;
}
このプログラムは圧縮ファイルTwoForms.zipにまとめた。圧縮ファイル名TwoForms.zipをクリックしてダウンロードしたものを解凍すれば、Visual C++2012で開くことができる。
プログラムでは、図1に示す2つのフォームが作成されている。
図1
上のフォームMyFormと下のフォームMyFormNoFrameがNextボタンのクリックで交互に表示される。上のフォームMyFormは標準のものであるが、下のフォームMyFormNoFrameとそのボタンは以下のようにプロパティを設定している。
フォームについては、図2に示すようにFormBorderStyleをNoneに設定して枠をなくし、BackColorを図2に示す色に設定している。
図2
ボタンについては、例えばNextボタンの場合、FlatStyleをPopupとし、BackColorはLightGreen、ForeColorはBlue、Fontは48ptと設定している。
図3
プログラムの実行形式ファイルTwoForms.exeも用意した。クリックしてダウンロード実行することができる。