Visual Basic 6 のデザイナーは、数多くの組み込みユーザーインターフェースツールを利用できますが、多くの開発者はこれらの利点を悪用し、扱いにくく複雑な GUI を作成しています。以下に、VB6 の GUI を簡潔でわかりやすく、直感的に操作できる状態に保つための簡単なガイドラインをいくつか示します。これにより、ユーザー満足度が向上し、納品後の修正回数が減ります。
適切なフォームを開発する
フォームは、コードレベルの開発者からはあまり注目されません。フォームを追加したら、すぐに様々なコントロールをプラグインして情報のコンテナとして利用し始めます。しかし、フォームのプロパティを設定することは、見た目に美しく、一貫性があり、直感的なインターフェースを作成する上で重要です。
フォームの適切な境界線スタイルを指定する必要があります。以下のオプションがあります。
- なし
- 固定シングル
- かなり大きい
- 固定ダイアログ
- ツールウィンドウを修正
- サイズ変更可能なツールウィンドウ
None を使用することは 、ほとんどの場合良い考えではありません。 なぜなら、このようなフォームにはタイトルバーやコントロールメニューボックスがないため、ユーザーはフォームを閉じたりサイズを変更したりできないからです。デフォルトのフォーム値は Sizable (ユーザーがフォームのサイズを変更できる)ですが、これはすべてのフォーム要素がフォーム自体のサイズに合わせて変更されるように設計されている場合にのみ適切な選択肢です。
「Fixed Dialog」スタイルでは境界線が表示され、フォームのサイズ変更はできませんが、右上隅の「最小化」ボタンと「最大化」ボタンが表示されません。これらのボタンを表示するには、「Fixed Single」スタイルを使用してください。「Sizable ToolWindow」スタイルと「Fixed ToolWindow」スタイルは、通常、メインフォームの上にフローティング表示し、メインフォームに変更を加える必要があるフォームに使用されます。
フォームの開始位置も指定する必要があります。使用可能な開始位置スタイルは次のとおりです。
- マニュアル
- Windowsのデフォルト
- センタースクリーン
- センターオーナー
デフォルトのスタイルは「手動」です。これは、フォームが実行時とデザイン時の両方で同じ位置に表示されることを意味します。Windows のデフォルト設定では、 フォームは画面の左上隅に配置されます。CenterScreen では、 画面解像度に関係なく、フォームがユーザーの画面の中央に配置されます。CenterOwner では、 フォームがオーナーフォームの中央に配置されます。オーナーとは、現在のフォームが表示されるフォームのことです。オーナーが指定されていない場合、フォームはデスクトップの中央に表示されます。
コントロールの一貫性と適切性を維持する
フォームにコントロールを配置する前に、そのコントロールがどのようなデータを管理するのか、そしてユーザーがそのデータをどのように操作するのかを検討してください。以下のガイドラインは、特定のデータの種類に最適なコントロールを選択するのに役立ちます。
フォームコントロールの第一ルールは、外観、操作性、サイズなどの特性が一貫していることです。ユーザーが各コントロールの特定の視覚的な指示や使用方法を学習する必要がないようにする必要があります。
テキストボックスコントロールの高さは、コンボボックスと同じにする必要があります。デフォルトでは、テキストボックスの高さプロパティはコンボボックスの高さプロパティと異なります。テキストボックスの高さの値は、コンボボックスの高さに合わせて変更する必要があります(コンボボックスの高さプロパティは読み取り専用であるため)。当然ですが、このルールは1行テキストボックスにのみ適用されます。
表示する必要があるデータには適切なコントロールを使用する必要があります。読み取り専用データを表示する場合は、テキストボックスを使用してプロパティを変更し、ユーザーがテキストを変更できないようにしないでください。代わりにラベルを使用してください。テキストボックスコントロールは、編集可能なデータにのみ使用してください。
リストに表示するオプションが5つ未満で、ユーザーに1つの項目だけを選択させたい場合、オプションボタンが最適です。多くのアプリケーションでは、このような情報を表示するためにコンボボックスを使用していますが、ユーザーの視点から見ると、コンボボックスのリストをスクロールするよりも、すべてのオプションを一度に表示する方がはるかに便利です。
ユーザーが選択肢の少ないリストから複数の項目を選択できるようにしたい場合は、チェックボックスの使用をお勧めします。オプションボタンと同様に、チェックボックスを使用すると、利用可能なすべてのオプションを一度に確認できますが、リストから複数の項目を選択することもできます。
ユーザーが選択できる項目を多数表示する必要がある場合、オプションボタンやチェックボックスはフォーム上で占有するスペースが大きくなるため、現実的ではありません。このような場合は、スペースを節約するために、コンボボックスまたはリストボックスにデータを表示する必要があります。複数選択リストボックスを使用すれば、ユーザーは一度に複数の項目を選択できますが、コンボボックスでは1つの項目しか選択できません。
開発者は、複数の列のデータを表示するためにコンボ ボックスやリスト ボックスを使用することがありますが、グリッド コントロールの方がユーザーにとって理解しやすく、コーディングも簡単です。
対応するコントロールの隣にラベルを使用する場合は、ラベルを左揃えにし、ラベルキャプションの後にコロンを付けると読みやすくなります。また、ラベルは対応するコントロールに対して垂直に揃えます。図Aは、これらのラベルルールの適用例を示しています。
図A |
![]() |
ラベル コントロールの BackStyle プロパティを常に Transparent に設定して、ラベルの BackColor が親フォームと同じになるようにします。
ユーザーがコントロールを一時的に使用できないようにする必要がある場合は、非表示にするのではなく、無効にすることが望ましいです。コントロールを無効にすると、ユーザーはクリックできなくなりますが、フォームの外観は大きく変わりません。コントロールを非表示にすると、ユーザーを驚かせたり、アプリケーションに何らかの問題があると誤解させたりする可能性があります。コントロールを選択する際には、タブコントロール、ツリービュー、プログレスバー、ツールバーなどの新しいVisual Basicオプションも検討し、フォームのレイアウトとデザインを改善してください。
メニューを標準化する
アプリケーションのメニューについては、Windows 標準に従うことが一般的に受け入れられています。可能な限り、Windows 標準のメニュー名とキャプションを使用し、Windows の規則に準拠したサブメニューを用意してください。これらの標準を実際に確認するには、任意の Office アプリケーションを開いて、メニューとサブメニューの一覧を確認してください。また、アプリケーションのユーザーエクスペリエンスを向上させるために、ショートカットの開発も検討してください。直感的な操作性を維持するために、ショートカットキーを Windows アプリケーションで使用されているものと一致させるようにしてください。
開発者もユーザーインターフェースに関する懸念から逃れることはできません
。特定のコーディング規約に従うことで、ユーザーテストの時間と手間を省き、アプリケーション(そしてあなた自身)の寿命を延ばすことにつながります。