連載:VB 6ユーザーのための
これならマスターできるVB 2005超入門

第1回 VB 6の皆さん、これはもうVB 2005使うしかないでしょ

羽山 博
2006/08/16
Page1 Page2 Page3 Page4

■フォームをデザインする

 では、ツールボックスからラベル(Label)とボタン(Button)を選んで、フォーム上に配置してみよう。操作は従来と同様のお絵描き感覚。マウスのドラッグで位置やサイズの変更ができる。

 図7のようにフォームのサイズを変えて、コントロールの位置もそろえてみると、なんと素晴らしい! たいていの人がここで感動するはずだ。コントロールの相互の位置関係がガイドとして表示され、ぴったりと位置合わせができるのだ。しかも、コントロールそのものの位置だけでなく、表示されているテキストのベースラインをそろえることもできる。


図7 配置したコントロールの位置合わせ
ラベルとボタンを配置し、位置をそろえる。このようにテキストのベースラインに合わせてコントロールの位置をそろえることもできる。

 違うところは無視していい、といったが、さすがにこんなに便利な機能を無視する手はないだろう。ほんの数歩踏み出したところで巨大なクヌギの木を見つけて特大サイズのクワガタを捕まえたようなウレシイ感動である。サイズや位置の調整はツールバーのボタンからでもできるが、微調整にはこの機能を活用するといい。

■プロパティを設定する

 フォームやコントロールのプロパティは右下の[プロパティ]ウィンドウを使えばよい。細々とした手順を追いかけても退屈なだけだろうから、ここでは設定内容と留意点のみを示しておこう。設定内容は表1のとおり。

コントロール プロパティ 設定値
フォーム Name frmDate
Text 本日の日付
ラベル Name lblDate
Text ボタンをクリックすると日付が表示されます
ボタン Name btnDate
Text 日付(&D)
表1 設定するプロパティとその値の一覧
IDE右下に表示される[プロパティ]ウィンドウを使って設定する。

 留意点は2つある。1つ目。ラベルのAutoSizeプロパティはTrueが既定値なので、テキストのサイズに合わせてコントロールのサイズが変わるということ。初期設定としてラベルに文字を表示したくない場合は、コントロールが小さく表示されてしまうため、マウスで扱いにくくなることに注意してほしい(さらに、ほかのコントロールが選択されるとまったく見えなくなる)。

 もう1つは、これまでのCaptionプロパティの代わりにTextプロパティが使われるようになったこと。さすがにこの違いも無視できない。が、理解の範囲を超えるほどの違いでもないだろう。図8はひととおり設定が終わった画面だ。


図8 プロパティ設定後の画面
フォーム、ラベル、ボタンにコントロール名を付け、それぞれに表示される文字列を設定した。

■イベント・ハンドラを書く

 ボタンをクリックしたときや、リスト・ボックスの選択項目が変わったときに自動的に実行される手続きのことをイベント・プロシージャとかイベント・ハンドラと呼ぶ(なんてことはご存じですよね)。

 このプログラムでは、[日付]ボタンをクリックしたときに、ラベルの表示を変えたいので、[デザイナ]ウィンドウで[日付]ボタンをダブルクリックしよう。図9のように[コード]ウィンドウが表示され、ボタンのClickイベント・ハンドラが表示される。


図9 ボタンのClickイベント・ハンドラ
配置したボタンをダブルクリックすると、ボタンのClickイベント・ハンドラが[コード]ウィンドウで表示される。

 コードは以前とずいぶん違うように見えるが、ここでも「違うところは無視する」という基本姿勢で突き進もう。「Sub」で始まってプロシージャ名(btnDate_Click)があって、パラメータ(引数)がごちゃごちゃとあるけれど、最後は「End Sub」で終わる。イベント・ハンドラに書くべきことは「何をしたいか」ということだけなので、それを書く。イベント・ハンドラの内容は以下のようなコードになるはずだ。

lblDate.Text = Today

 コードの記述時に便利なのがIntelliSence(インテリセンス)。ラベルを示す「lblDate」の次に“.”を入力した時点で、利用できるプロパティやメソッドの一覧が表示される(図10)。


図10 IntelliSenceによるプロパティやメソッドの一覧
IntelliSenceをうまく使えばコードの記述が省力化できる。

 なお、コントロール名などが一部しか分からないときには、[Ctrl]+[スペース]キーで入力を補完できるという機能もある。例えば上の例なら、コントロール名の最初の「lbl」だけを入力して[Ctrl]+[スペース]を押すと「lblDate」と自動的に入力される。この機能を利用すれば、入力の手間が省けるだけでなく、スペル・ミスも未然に防ぐことができる。


 INDEX
  連載:VB 6ユーザーのためのこれならマスターできるVB 2005超入門
  第1回 VB 6の皆さん、これはもうVB 2005使うしかないでしょ
    1.掘り出し物の物件がありますよ!
    2.サンプル・プログラム1 − 日付を表示する(1)
  3.サンプル・プログラム1 − 日付を表示する(2)
    4.結び − だけど、どうしても違いが気になる
 
インデックス・ページヘ  「これならマスターできるVB 2005超入門」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH