読者です 読者をやめる 読者になる 読者になる

Visual Studio 2015 を使ったCLIアプリケーション開発 (第2回)

Visual Studio Windows CLI

前回はVisual Studio 2015 Communityをインストールするところまで紹介しました。

tuttitan.hatenablog.com

 

 

今回は、簡単なC++/CLIアプリケーションを作成するところまで紹介したいと思います。

 

はじめてVisual Studio 2015 Communityを起動すると次のような画面が現れます。アカウントがあったほうがよいのですが、ここではひとまず「後で行う。」をクリックして先に進みます。

f:id:tuttitan:20161226212825p:plain

 

好みの配色テーマを選択して、「Visual Studio の開始」をクリックします。

f:id:tuttitan:20161226213100p:plain

 

しばらくするとVisual Studioのメイン画面が現れるので、「メニュー」より [ファイル] → [新規作成] → [プロジェクト] を選択します。

f:id:tuttitan:20161226213501p:plain

 

どのようなプロジェクトを作るのかと聞かれるので、左方にある [テンプレート] から [Visual C++] → [CLR] を選択。「空のCLRプロジェクト」を選択して、プロジェクトの「名前」を「場所」を適当に入力して「OK」ボタンをクリックする。

f:id:tuttitan:20161226230749p:plain

 

空のプロジェクトが作成されたのを確認して、「メニュー」より [プロジェクト] → [新しい項目の追加...] を選択する。

f:id:tuttitan:20161226231009p:plain

 

どのような項目を追加するのか聞かれるので、左方より [Visual C++] → [UI] を選択。「Windowsフォーム」を選択して、名前を適当に入力してから [追加] ボタンをクリックする。
ここで入力した名前がクラス名になりますので考えて入力しましょう。(場所に関してはそのままでよいでしょう)

f:id:tuttitan:20161226231404p:plain

 

以上で空のプロジェクトに Myform.h と Myform.cpp が追加されますが、下のようなエラーメッセージが表示されるかも知れません。

「データが失われる可能性を防ぐため、デザイナーの読み込み前に以下のエラーを解決する必要があります。」と言われても困りますよね。

f:id:tuttitan:20161226231703p:plain

 

これはDebugに自動的に生成されたファイルに不具合があるために起こる現象なのではないかと推察できます。なので、プロジェクトファイル(.vproj)の下にあるDebugフォルダの中身を一度削除します。(フォルダ自体は削除しないこと)

f:id:tuttitan:20161226231928p:plain

 

MyForm.h タグを一度閉じて、[ソリューション エクスプローラ] から開きなおすと初期状態のフォームが正しく表示されるようになります。

f:id:tuttitan:20161226232202p:plain

 

今回は簡単な C++/CLI アプリケーションを作成するということなので、「HelloWorld」という文字を表示するフォームを作りたいと思います。まずはメニューより [表示] → [ツールボックス] を選択します。

f:id:tuttitan:20161226232411p:plain

 

ツールボックスが表示されるので、[コモンコントロール] より [Label] を選択してフォーム上に配置します。

f:id:tuttitan:20161226232639p:plain

 

続いて、追加したラベル(今回は "label1" )が選択されていることを確認して右下にある [プロパティ] ウィンドウの Font と Text を編集します。
今回、文字を大きくしたかったのでFontは32ptで、Textは "HelloWorld" としました。

f:id:tuttitan:20161226233145p:plain

 

次にプログラムを編集します。[ソリューション エクスプローラ] から MyForm.cpp を選択して、以下のコードを入力します。

#include "MyForm.h"

using namespace System;


[STAThreadAttribute]
int main(void) {
	HelloWorld::MyForm^ form = gcnew HelloWorld::MyForm();
	form->ShowDialog();
	return 0;

}

f:id:tuttitan:20161226233428p:plain

 

続いてプロジェクトのプロパティを変更します。「メニュー」より [プロジェクト] → [HelloWorld のプロパティ...] を選択します。

f:id:tuttitan:20161226233803p:plain

 

「プロパティ ページ」が現れるので、左方にある [リンカー] → [システム] を選択し、「サブシステム」に "Windows" を選択します。(プルダウンメニューより選択)

f:id:tuttitan:20161226234016p:plain

 

[システム] の下方にある [詳細設定] を選択して、「エントリ ポイント」に main を指定します。(ここは手入力)
以上の2箇所を変更したら [OK] ボタンをクリックして「プロパティ ページ」を閉じます。

f:id:tuttitan:20161226234218p:plain

 

ソリューションをビルドして実行すれば、HelloWord と表示されたフォームが現れるはずです。

f:id:tuttitan:20161226234613p:plain

 

途中で罠(エラー)がありましたが、これで C++/CLI アプリケーションを作成できるようになりました。めでたし。

 

 

参考Webページ