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

第3回 VB 2005の“My”の便利さに脱帽!

羽山 博
2006/10/25
Page1 Page2 Page3

だじゃれの1つもいいたくなるネーミング?!

Back Issue
1
VB 6の皆さん、これはもうVB 2005使うしかないでしょ
2 コントロール配列がなくても大丈夫!

 ホントは「おおっ、Myの便利さにマイった!」ぐらいのベタなタイトルにしようかとも思ったのだけれど、さすがに私のセンスが疑われそうなので、「脱帽」にとどめておいた。が、Visual Basic 2005(以下VB 2005)から利用できるようになった「My」は、そんなだじゃれの1つもいいたくなるぐらい妙に気になる機能だ。

 Myの意味は「私の」だと、誰でもが知っているだろうが、「私って誰?」「なんで所有格のMyが唐突に現れるんだ?」と、多少とも英語を学んだ人なら、違和感を覚えたのではないだろうか。

 答えからいうと、このMyは「私の」というよりは「VB 2005の」といった意味。VB 2005で利用できる便利な機能の集まりのことだと考えるといい。ちなみに、間投詞としてのMyには「おおっ」「おや」という意味がある。そこまで開発者がネーミングを考えたのかどうかは不明だが、使ってみるとなるほど便利だ、と実感できるだろう。もっとも、Myがオールマイティではないということも事実なのだが、それについては後ほど触れることとしよう。

 取りあえず、.NET Frameworkのクラス・ライブラリうんぬん……といった関連知識は抜きにして、Myの機能(の、ごくごく一部だが)を使った例を見てみよう。今回は前フリを短めにして、さっそくサンプル・プログラムに入る。

サンプル・プログラム3 − 設定の保存と読み出し

 アプリケーションのウィンドウの位置を保存しておいたり、前回起動した(あるいは終了した)日時を保存しておいたりすることは、多くのプログラムで必要とされる機能だろう。

 Visual Basic 6(以下VB 6)で最も一般的で、最も簡単なのはSaveSetting関数やGetSetting関数を使ってレジストリに値を保存したり、読み出したりする方法。だが、複数の設定項目をまとめて扱うことができず、引数の指定も面倒だった。

 VB 2005では、Myの機能の1つであるMy.Settingsを使って、設定の保存や読み出しが極めて簡単にできるようになっている。もちろんVB 2005でも従来と同じようにレジストリにアクセスすることはできるが、My.Settingsはレジストリを使わず、XML形式のファイルに設定を保存する。

 今回のサンプル・プログラムは、何らかの業務に特化したものではなく、設定の保存と読み出しの方法がはっきりと分かるような単純なものとした。このプログラムでは、終了時のウィンドウ位置を保存し、次に起動したときに、同じ位置にウィンドウが表示されるようになっている。また、[更新]ボタンをクリックすると、その時点での日時が設定ファイルに保存される。次に起動したときには、前回保存した日時がフォーム上に表示される(図1)。


図1 プログラムの完成イメージ
アプリケーションの設定を保存したり、読み込んだりする簡単なプログラム。
  終了時のウィンドウ位置が保存されており、次回起動したときには同じ位置にウィンドウが表示される。ステータス・バーに「X:Y」の形式で位置を表示する。
  [更新]ボタンをクリックすると、その時点での日時が保存される。
  アプリケーションを起動すると、前回保存した日時が表示される。

 小さい「部品」のようなプログラムなので、必要な部分だけを切り出してほかのアプリケーションに組み込むことも簡単にできるはずだ。では、フォームのデザインから見ていこう。

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

 図1を見れば分かるように、フォームに必要な要素はラベル、ボタン、ステータス・バーの3つだけ。ラベルとボタンについてはすでに何度も出てきているので、設定内容だけを表にまとめておくこととする(表1)。ステータス・バーはステータス・ストリップ(StatusStrip)コントロールを使って作る。これについてはVB 6と若干異なるところがあるので、後で図を見ながら説明しよう。

コントロール プロパティ 設定値
フォーム Name frmSaveTime
Text アクセス日時保存
ラベル Name lblLastAccess
ボタン Name btnUpdate
Text 更新(&U)
表1 コントロールに設定するプロパティとその値の一覧

 この段階では、フォーム・デザイナの画面は図2のようになっている。


図2 ラベルとボタンを配置したフォーム
  ラベルのTextプロパティの値は削除しておく
  下にステータス・バーを追加するので、ボタンの下を少し空けておく。

 では、ツールボックスの一覧にあるステータス・ストリップ・コントロールのアイコン()を選択し、フォーム上をクリックしよう。ステータス・バーがフォーム上に追加されるとともに、フォーム・デザイナの下にもアイコンが表示される。ステータス・ストリップ・コントロールのNameプロパティは「stsPos」としておこう。

 ステータス・ストリップ・コントロール内に表示できるものには、ラベル、プログレス・バー、ドロップダウン・ボタン、スプリット・ボタンがある。このプログラムではステータス・バーにウィンドウの位置を文字列として表示したいので、ラベルを追加しよう。フォーム上に表示されているステータス・ストリップ・コントロールの左にあるアイコンをクリックして、[StatusLabel]を選択する(図3)。


図3 ステータス・ストリップ・コントロールにラベルを追加する
ウィンドウの位置を「X:Y」の形式で文字列として表示するためだけに使うので、アイコンをクリックし、[StatusLabel]を選択する。

 追加したステータス・ラベル(StatusLabel)コントロールのNameプロパティを「tsPos」とし、Textプロパティの内容を削除しておく。これでフォームのデザインは完成だ。


 INDEX
  連載:VB 6ユーザーのためのこれならマスターできるVB 2005超入門
  第3回 VB 2005の“My”の便利さに脱帽!
  1.サンプル・プログラム3 − 設定の保存と読み出し
    2.フォームのプロパティを保存するには/設定項目の値を利用するには
    3.プロパティ以外の値の保存/任意のタイミングで保存・読み込み/結び
 
インデックス・ページヘ  「これならマスターできる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