Versuche das ganze jetzt mit 3 Grids zu machen. Leider funktioniert es nicht habe jetzt noch folgendes eingefüht:
Delphi-Quellcode:
private
{ Private declarations }
OldGridProc1, OldGridProc2, OldGridProc3: TWndMethod;
[...]
procedure Grid3WindowProc(var Message: TMessage);
[...]
procedure TForm1.FormCreate(Sender: TObject);
[...]
OldGridProc3 := StringGrid3.WindowProc;
StringGrid3.WindowProc := Grid3WindowProc;
[...]
procedure TForm1.Grid3WindowProc(var Message: TMessage);
begin
OldGridProc3(Message);
if ((Message.Msg = WM_VSCROLL) or (Message.Msg = WM_HSCROLL) or
(Message.msg = WM_Mousewheel)) then
begin
OldGridProc2(Message);
end;
end;
Das Grid2 ist mein Grid mit dem ich die Navigation steure. Bei den anderen zwei habe ich ScrollBars auf None gesetzt. Mit zwei Grids hat das auch wunderbar funktioniert. Jedoch jetzt mit dem dritten geht es zwar immer noch, doch das dritte Grid scrollt nicht mit.
Könnte das auch daran liegen, dass das dritte Grid nicht die selbe Spaltenanzahl hat?