お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"複数のStringGridを連動スクロール"



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



☆説明
複数のStringGridに関連するデータを置いた場合、連動してスクロールすると
便利ですよね。
標準のイベントハンドラに数行追加するだけで簡単に実現できます。

☆準備
 1.フォームにStringGrid1、StringGrid2を置く。
 2.StringGridの OnTopLeftChanged イベントに以下のコードを記述。

☆補足
 ・Delphi4で作成、Windows98、NT4.0WSで動作確認。
 ・サンプルは横スクロールの連動の例です。縦スクロールを連動する場合
  は LeftCol  を TopRow にします。
 ・セルの項目数(行数)、幅(高さ)が等しくないと悲しいことに(^^;;;
  必ず同じサイズに調整してください。

======================================================================
// StringGrid1
procedure TForm1.StringGrid1TopLeftChanged(Sender: TObject);
var
  sg1, sg2: Integer;
begin
  // StringGrid1 と StringGrid2 の横スクロールを連動
  sg1 := StringGrid1.LeftCol;
  sg2 := StringGrid2.LeftCol;
  if sg1 = sg2 then
    Exit;

  StringGrid2.LeftCol := sg1;
end;

// StringGrid2
procedure TForm1.StringGrid2TopLeftChanged(Sender: TObject);
var
  sg1, sg2: Integer;
begin
  // StringGrid1 と StringGrid2 の横スクロールを連動
  sg1 := StringGrid1.LeftCol;
  sg2 := StringGrid2.LeftCol;
  if sg1 = sg2 then
    Exit;

  StringGrid1.LeftCol := sg2;
end;
======================================================================

                              99/7/4(日) 01:29am  LDM03756 佐藤 充男

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


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

Copyright 1996-2002 Delphi Users' Forum