お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"スプリッタ切り替え"



こんにちは、佐藤 充男です。



☆説明
 スプリッタでフォームを仕切る場合、ボタン操作で左右、上下に切りかえる
 サンプルです。

☆準備
 1.フォームにTPanelを置き、Align をalTop にします。
 2.そのパネルの上にTButton を2つ置きます。
 3.TPanelの下にTStringGrid を置き、Align をalLeftにします。
 4.TStringGrid の横にTSplitter を置き、Align をalLeftにします。
 5.フォームの空きエリアにTMemo を置き、Align をalClientにします。

 こんな感じに配置します
 +-------------------------------------------------------------+
 |  [ Botton1 ]  [ Botton2 ]   Panel1                          |
 +------------------------------++-----------------------------+
 | StringGrid1                  || Memo1                       |
 |                              ||                             |
 |                              ||                             |
 +------------------------------++-----------------------------+
                 ↑ Splitter1

☆補足
 Delphi3.1 でテスト。
 ボタンが押されたときにスプリッタを中央に置くようにしています。

[サンプルソース]
----------------------------------------------------------------------
(* 上下分割 *)
procedure TForm1.Button1Click(Sender: TObject);
begin
  StringGrid1.Align := alTop;
  StringGrid1.Height := Form1.Height div 2;
  Splitter1.Align   := alBottom;  // StringGrid1 の下側へ置くための処理
  Splitter1.Align   := alTop;
  Splitter1.Cursor  := crVSplit;
end;

(* 左右分割 *)
procedure TForm1.Button2Click(Sender: TObject);
begin
  StringGrid1.Align := alLeft;
  StringGrid1.Width := Form1.Width div 2;
  Splitter1.Align   := alRight;  // StringGrid1 の右側へ置くための処理
  Splitter1.Align   := alLeft;
  Splitter1.Cursor  := crHSplit;
end;
----------------------------------------------------------------------

#コメントのある行をコメントにするとButton2 の動作が変です(^^;
                              98/9/10(木) 07:52pm  LDM03756 佐藤 充男

Original document by 佐藤 充男   氏 ID:(LDM03756)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum