Вниз
Скачать: CL | DM;

Синхронизировать два StringGrid-а   Найти похожие ветки 

 
Navi ©   (2004-01-17 07:28) [0]

Здравствуйте!
Подскажите, пожалуйста как синхронизировать два StringGrid-а по вертикальной прокрутке? Т.е. ставим ихдруг напротив друга и чтобы при прокрутке(колесом, полосой, курсором)/выделении ячейки и т.п. одного StringGrid-а, второй также прокручивался - эффект как у Excel при разделении окна на 2 половинки. Я пробовал обрабатывать WM_VSCROLL и на MouseWheelUp/Down вешал такое:
inherited;
SendMessage(StringGrid2.Handle, WM_VSCROLL, 0, 0); - не работает.
Спасибо.


 
Vit@ly ©   (2004-01-17 08:25) [1]

Работает для листбоксов, возможно поможет и со стринггридами
http://denisov.i2x2.ru/delphi/Units/SListBox.rar


 
Navi ©   (2004-01-18 13:33) [2]

Не помогло. Попробовал вот это вставить на OnSelectCell - работает, но когда выделена ячейка внизу видимой области, то подчиненная сетка выделяет свою ячейку правильно, но не прокручивается
var
GrdRect: TGridRect;
begin
if StringGrid2.Focused then
begin
GrdRect.Left:= ACol;
GrdRect.Top:= ARow;
GrdRect.Right:= ACol;
GrdRect.Bottom:= ARow;
StringGrid1.Selection:= GrdRect;
end
else
if StringGrid1.Focused then
begin
StringGrid2.TopRow:= StringGrid1.TopRow;
TGridCracker(StringGrid2).SelectCell(StringGrid2.Col, ARow);
end;
end;


 
Тимохов ©   (2004-01-18 13:36) [3]

Юзай событие OnTopLeftChanged
В нем grid1.TopRow := grid2.TopRow;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-93564
Xmen
2004-01-17 10:56
2004.01.29
Ввод данных


3-93395
Прямой
2004-01-05 12:22
2004.01.29
ADOQuery ругается


1-93497
Zheks
2004-01-19 10:02
2004.01.29
Проверка существования директории


1-93456
Lkan
2004-01-16 08:03
2004.01.29
Хеш


3-93339
Gosha
2004-01-04 18:52
2004.01.29
Поле типа




   Наверх