Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как синхронизовать две StringGrid??? [D7, WinXP]


fuzzy ©   (2006-04-09 15:21:00) 

Хочу, чтобы при прокручивании одной, вторая прокручивалась  на столько же строк. Как бы мне это осуществить? Помогите.


Alarm   (2006-04-10 08:13:00) [1]

Можно так:
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, ExtCtrls, Grids;

type
 TForm1 = class(TForm)
   StringGrid1: TStringGrid;
   StringGrid2: TStringGrid;
   procedure FormCreate(Sender: TObject);
   private
   { Private declarations }
   lbproc1, lbproc2: TWndMethod;
   procedure NewProc1(var msg: TMessage);
   procedure NewProc2(var msg: TMessage);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.NewProc1;
begin
 case msg.Msg of
   WM_VSCROLL, LB_SETCURSEL,
   WM_KEYFIRST..WM_KEYLAST,
   WM_MOUSEFIRST..WM_MOUSELAST:
     lbproc2(msg);
 end;
 lbproc1(msg);
end;

procedure TForm1.NewProc2;
begin
 case msg.Msg of
   WM_VSCROLL, LB_SETCURSEL,
   WM_KEYFIRST..WM_KEYLAST,
   WM_MOUSEFIRST..WM_MOUSELAST:
     lbproc1(msg);
 end;
 lbproc2(msg);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
 lbproc1 := StringGrid1.WindowProc;
 StringGrid1.WindowProc := NewProc1;
 lbproc2 := StringGrid2.WindowProc;
 StringGrid2.WindowProc := NewProc2;
end;
end.


>Германн ©   (10.04.06 02:26) [4]

В 2-язычных приложениях это иногда оказывается полезным:)


Германн   (2006-04-10 02:26:00) [2]


> fuzzy ©   (09.04.06 15:21)  
>
> Хочу, чтобы при прокручивании одной, вторая прокручивалась
>  на столько же строк. Как бы мне это осуществить? Помогите.
>


А зачем? Искусства ради? Или есть идея?


Palladin   (2006-04-09 22:00:00) [3]

(цветом шрифта) по (цвету фона), OnTopLeftChanged


fuzzy   (2006-04-09 21:48:00) [4]

Понятно, но на какое событие это повесить? не таймер же ставить...


EvS   (2006-04-09 16:55:00) [5]

StringGrid2.TopRow:=StringGrid1.TopRow; //строка
StringGrid2.LeftCol:=StringGrid1.LeftCol; //столбец


Наверх

Титульная страница Поиск, карта сайта Написать письмо