アークピットのホームページに戻る

WinAPIトピックのトップページに戻る

APIトピックの各章に移動する

ダウンロードのページに移動する
ダウンロードができ
ない場合の対処法
 

ページ移動

2-5-2. フレームバーの機能

 フレームバーとは、ウィンドウを縦または横で2分割するバーのことです。バーをドラッグすることで、ウィンドウの左右または上下のサイズを変更できます。これは、Windowsが提供する機能ではありません。Windowsのクラスやウィンドウ機能を使って作成した、カスタムコントロールです。

 フレームバーは、FrameBar と言うテストプログラムと、ApFrameBar と言うフレームバーモジュールの2つからできています。

テストプログラムの機能

 テストプログラムは、フレームバーモジュールをテストするサンプルプログラムです。起動すると、まず縦線のフレームバーを表示し、ウィンドウを左右に分離します。そして左のウィンドウには、「Hello World.」と表示するHelloウィンドウを表示します。右側のウィンドウには、エディトコントロールを作成します。このウィンドウは、キー入力が可能です。

左右に分割したフレームバーのウィンドウの図
左右に分割するフレームバー

 メニューはファイルと表示の2つだけです。ファイルには以下のコマンドがあります。
  • 上下に分離(または、左右に分離)
  • バージョン情報
  • FrameBarの終了
 現在、縦線のフレームバーを表示し、ウィンドウを左右に分離していれば、「上下に分離」コマンドになります。逆なら、「左右に分離」と表示します。このコマンドは、左右から上下に、または上下から左右に分離タイプを変更します。

上下に分割したフレームバーのウィンドウの図
上下に分割するフレームバー

 アイルメニューの他の2つは、バージョンを表示するダイアログボックスを表示するコマンドと、このアプリケーションを終了するコマンドです。

 もう1つの「表示」メニューは、Helloウィンドウの「Hello World.」の表示を左側・中央・右側に配置します。上下方向は常に中央で、左右方向だけ配置を変更できます。起動時は中央に表示します。

 フレームバーの上にマウスカーソルを移動すると、矢印からリサイズタイプのカーソルに変わります。この時マウスの左ボタンでドラッグすることで、フレームバーを移動します。左ボタンを離すとその位置にフレームバーを配置します。その前に右ボタンを押すとキャンセルします。
 ウィンドウのリサイズをすると、エディトコントロールが小さくなり過ぎない程度の範囲より、ウィンドウを小さくすることはできません。

 「ファイル/FrameBarの終了」コマンドでこのテストプログラムを終了します。

フレームバーの仕様と制限

 このモジュールがサポートするフレームバーの仕様と制限をまとめます。
  • ウィンドウを左右に分離するタイプと、上下に分離するタイプの2つの種類をサポートします。
  • フレームバーをドラッグすることで、左右または上下にリサイズします。
  • 左右タイプと上下タイプは同時に使う事はできませんが、途中でこれらを切り替えられます。
  • ウィンドウのリサイズによる、最小の大きさを制限できます。
  • フレームバーは、左右か上下のウィンドウのサイズが0になるまで、リサイズを許可します。ウィンドウのリサイズと違い、最小サイズの制限は行ないません。
  • フレームバーはウィンドウの境界線を描画しません。よって両側のエリアに子ウィンドウを境界付きで作成しないと、フレームバーの位置が判明しません。
  • フレームバーは、1つのウィンドウにだけ作成できます。複数のウィンドウには、搭載できません。

ページ移動