请教高手:可不可能实现两个StringGrid共用一个水平滚动条?

解决方案 »

  1.   

    可以啊。
    把两个StringGrid都不加滚动条。ScrollBars=ssNone;
    然后自己加入一个TScrollBar控件,
    自己编写相应的代码进行滚动.
      

  2.   

    楼上的大哥,能不能贴一段关于TScrollbar的代码?
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Grids;type
      TForm1 = class(TForm)
        s1: TStringGrid;
        b1: TScrollBar;
        s2: TStringGrid;
        procedure b1Scroll(Sender: TObject; ScrollCode: TScrollCode;
          var ScrollPos: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.b1Scroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);
    begin
      //ScrollPos代表当前的滚动条的位置
      //s1.ScrollBy(0, ScrollPos); //这是调水平方向的。
      //s1.TopRow:=s1.TopRow+ScrollPos;//或者是这样
      s1.TopRow:=ScrollPos;
      s1.Repaint;
    end;end.
      

  4.   

    多谢周天!
    我研究了半天delphi自带的范例,改了一下,将就实现了这个功能。结帐了!