VC++を使ってみるぜ

まず、スタートボタンから始まりです。
スタートボタン >> プログラム >> MicroSoft VisualC++ 6・0>> Microsoft VisualC++ 6・0を選択します。

「便利な使い方」というダイアログボックスが出ているので、閉じましょう。
一通り読んでみるのも結構ですが初心者では9割くらいは何を言っているのかわからないでしょう。

VC++のウィンドウは、とても難しそうです。いろいろボタンも付いているし。
でも必要な機能を少しづつ覚えればまったく問題は無いので心配は無用です。

VC++は、制作するプログラムの一連の固まりを「プロジェクト」と呼びます。
なぜそうしたかというと、一つのプログラムを作るためにはたくさんの付随するファイルを必要とするからです。
その一連のファイルを管理するために「プロジェクト」方式にしたのでしょう。
ほかのツールも大体同じです。

VC++のメニューのファイルから新規作成を選びます。
ほかにプロジェクトを開いていない場合はプロジェクトの種類を選ぶウィンドウが開きます。
プロジェクトを開いている場合は新規ファイルの種類を開くウィンドウになります。
それぞれ上にあるタブをクリックすることで選択することができます。

新規プロジェクトの場合は、まず、右上の白い文字入力エリア(テキストボックスという)にプロジェクトに名前を入力します。

初めて使う人はたいてい「TEST」と打ち込むので、われわれもそうしましょう。
その下に「場所」というのがあり、ディレクトリを指定するようになっています。
デフォルト(何も入力しない)ではVC++のディレクトリの中にできるようになっています。
これではあとでバックアップを行うのが面倒なので、わかりやすいディレクトリに指定し直します。
ディレクトリの少ないドライブDなどがあればそのドライブを指定して、なおかつプロジェクトの名前を指定します。

D:¥MyProject¥test

というように入力します。
作るプロジェクトのタイプは、MFC AppWizerd(exe)です。

OKを押す前にエクスプローラーを起動して指定したドライブに指定したディレクトリを作成します。
これは6.0では必要無いかもしれません。

OKを押すとウィドウのタイプを選択するページにきます。
ダイアログベースを選びます。

今回はほかの指定は必要ないので終了を押します。
プロジェクトのスケルトンの仕様が出るのでOKを押します。
これで何も動作をしない、ウィンドウが出るだけのウィンドウズアプリケーションの元になるソースができました。
必要なソースはVC++がすべて用意してくれた訳です。

するといままで出ていたダイアログが閉じて元のそっけない画面に戻ってしまいます。
良く見ると左側の縦長のウィンドウの表示が変わっています。
下のタブが6・0の場合は三つ、5・0の場合は4つになっています。
この縦長のウィンドウ部分をワークスペースといいます。
何かのひょうしにこのワークスペースが消えてしまうことがありますが、その場合はメニューの表示>>ワークスペースを選択すると、再び現れます。
またこのワークスペースは、プロジェクトと同じように保存されます。
いったんVCを終わって以前の作業を再開するときはVC++を立ち上げた後、ファイル>>最近使ったワークスペース、を選択します。
最新のワークスペースは一番上にあるので、それを選択すると最後に中断したワークスペースが読み込まれて、ウィンドウの配置なども元のまま再現され、スムーズに作業を再開することができます。

どのようなものができたのが見てみます。

ワークスペースのタブの「CL...」と書いてある部分をクリックして下さい。
タブの名前が途切れていますが、これはそれぞれ「ClassView」「RsourceView」「FileView」という名前です。

ここでちょっとショッキングな事を言わなければなりません。
説明の中にクラスというものが出てきます。
始めてみる単語ですが、ちょっと説明できません。
あとでゆっくりじっくり説明します。
そのクラスがわからないと、以下の説明もちんぷんかんぷんです。
では、なぜクラスの説明から入らないのか?クラスの説明をするための予備知識がまだないからです。

C++を独学しようとして挫折する人がおおい原因は、こんなところにあるのではないか、と個人的には思っています。

つまり、Aという事を説明するのに、Bの知識を必要とし、Bの説明をするのにAの知識を必要とする、という構造になっているらしいのです。
ですから、今説明することは理解できなくても構わないのです。しかし後からまた読み直すことが必要です。
クラスの説明を理解してから読むと、すらすらと理解できるでしょう。

ここでは、クラスというのは、プログラムの構造の一種と考えてください。
プログラム自体がわからないのにさらにその構造を想像しろ、というのも無茶ですが、とにかく、ちょっとだけ目をつぶって先に進んで下さい。

ClassViewにはtestクラスと書いてあります。
ここはプロジェクトの名前のクラスができます。
そのクラスに何が含まれているか、そのクラスを開いてみます。
testクラスをダブルクリックをするか、左側の資格に+印の入った部分をシングルクリックしてください。

これはクラスで見た場合の全ファイルです。
クラス関係で見たファイルの関係がわかるようになっています。
同じくResourceViewで見るとこれを別な形で見ることができます。
FileViewはそのものすべてのファイルを開くことができます。

それぞれのViewの関係は以下のようになっています。
Class
Resource
File
CAboutDlg
IDD_ABOUTBOX
testdlg.cpp
CTestApp
test.cpp
test.cpp
CTestDlg
testDlg.cpp
testDlg.cpp

クラスビューの中の頭に大文字の「C」が付いているものはクラスの名前です。
クラスの下にあるのは関数ですが、これはそれぞれクラスのメンバ関数といいます。
クラスの下にクラスと同じ名前の関数があります。
これはコンストラクタといって、クラスの初期化をする関数です。

この説明をしてもクラスとは何かわからなければよく理解できないと思います。
しかし、クラスというものがあって、こうすると見える、ということだけ今は覚えて置いて下さい。
クラスに関する説明はC++の文法の説明のあとにやります。
クラスの説明の後にまたここに戻って来るのでいまは良く分からなくても大丈夫です。

さて、一応ワークスペースを見渡したところでResourceViewのIDD_TEST_DIALOGをダブルクリックしてください。

実行したときのダイアログが出てきます。
このウィンドウでは、ダイアログの大きさを変えたり、ボタンを貼り付けたりすることができます。
このウィンドウは、ダイアログエディタといいます。
その名の通り、実行したときにどういう形のダイアログを出すかデザインするものです。

立ち上げただけの状態で何も変更していない状態をデフォルトと言います。
単語の意味は不履行とか欠席とかいうネガティブな意味ですがそれはさておきデフォルトでボタンが2個付いています。
OKとキャンセルです。

まだ一行もコードを書いていませんが、ほんとに動くプログラムができたのか確認してみましょう。
ツールバーの中に赤いびっくりマークがあるので、これをクリックします。
これは実行ボタンです。
これを押すと「ファイルがありません、ビルドしますか」のようなメッセージが出るので「はい」を押します。
まだ一度もコンパイルしていないから実行するファイルがないのでこのダイアログが出ます。
ビルドというのは必要なファイルをコンパイルしてリンクし、実行ファイルを作ることです。
VC++は変更されたファイルだけをコンパイルし直してリンクします。
ここでエラーが出た場合は何か間違えているのでVC++の立ち上げからやり直して下さい。
それでもエラーが出る場合はVC++のインストールに失敗している可能性があるのでVC++を一度削除してからインストールし直して下さい。
こんなことはめったにありませんが、まあ、そんな目にあう人がいたら、すぐ宝くじを買いに走りましょう。
無事にビルドが終了するとtest.exeという名前の実行ファイルが出来上がり、すぐに実行されます。

ウィンドウが出て上の青いキャプションの部分にtestと書いてあります。
OKボタンとキャンセルボタンがあり、TODO・・・というメッセージが出ています。
このウィンドウはキャプション部分を持って移動させるとVC++のウィンドウの外に動かせます。
これでちゃんと独立したプログラムだということがわかります。
このtestを終了させるには、OKボタンを押すか、キャンセルボタンを押すか、右上のばってんボタンを押します。
動作を確認したら終了します。
動作と言ってもウィンドウが出たのを眺めただけですが。

これであなたは初めてウィンドウズプログラム作って実行し、終了させた訳です。
あまりに簡単で拍子抜けしたことでしょう。
ウィンドウを出したり閉じたり、ボタンを押したりというのはどのアプリケーションにも共通なことです。
どのプログラムもやることをいちいちプログラマが作るのは非効率です。
だからそういう部分はVC++やウィンドウズがあらかじめ用意しています。
プログラマはそういう機械的にやらなければならない仕事から解放されて創造的な、つまりVC++が提供していない、自分独自の部分の制作に集中できるという訳です。

このtest.exeはVC++が用意した機能しか持っていないので、1行もソースを書く必要がなかったという訳です。
このようにVC++を使ってプログラムを作るとVCが提供する共通部分の見かけや動作はみな同じように出来上がります。
ウィンドウズのプログラムがみんな似ているのはこのためです。
DOSの時代にはプログラムの操作の方法はそれぞれ違っていてプログラム毎に操作を覚えなければなりませんでした。
ウィンドウズの時代になり、操作方法がこのように統一されたことで初めてのプログラムを使うときでもメニューにあるようなことはマニュアルを見なくても操作できるようになりました。
これはパソコンを簡単に使うという意味では画期的な進歩と言えるでしょう。
どれも似たようなプログラムになってしまい、特徴がなくなってしまったと批判する声もありますが普通の人にとっては歓迎できる進歩でしょう。

では、test.exeを終了させましたか?
ここで終了しないで次の作業に行く人があとを断ちませんが、そうすると次にビルドしたときに
「書き込めない」というエラーメッセージが出ます。
実行しているファイル、ここではTEST.EXEですが、これはウィンドウズによってロックがかかった状態になっており、書き直すことができないからです。