Показать сообщение отдельно
  #1  
Старый 29.01.2014, 15:37
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 282
Версия Delphi: delphi xe4
Репутация: выкл
Вопрос StringGrid и прокрутка колесиком мыши

Добрый вечер прошу помощи.
Есть статичная таблица 14х14. Пользователю запрещено по ней кликать.
Но если крутить колесико над Гридом, то через некоторое время вылазит ошибка Grid index out of range. Как это побороть? вылезает только при прокрутки.
Код:
    object SGBB: TStringGrid
      AlignWithMargins = True
      Left = 5
      Top = 64
      Width = 382
      Height = 269
      Margins.Left = 1
      Margins.Top = 1
      Margins.Right = 1
      Margins.Bottom = 1
      BiDiMode = bdRightToLeftReadingOnly
      Color = clWhite
      ColCount = 14
      DefaultColWidth = 26
      DefaultRowHeight = 18
      DrawingStyle = gdsGradient
      RowCount = 14
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -9
      Font.Name = 'Tahoma'
      Font.Style = [fsBold]
      GradientEndColor = clWhite
      Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine]
      ParentBiDiMode = False
      ParentFont = False
      TabOrder = 0
      ColWidths = (
        26
        26
        26
        27
        26
        26
        26
        26
        26
        26
        26
        26
        26
        26)
    end
Код:
 procedure TMF.OnSelectCell(Sender: TObject;ACol,ARow:Integer; var CanSelect:Boolean);
begin
CanSelect:=False;
end;
При создании убераем фокус:
Код:
//r:TGridRect;
 r.Left:=-1;
    r.Top:=-1;
    r.Bottom:=-1;
    r.Right:=-1;
    SGBB.Selection:=r;
Ответить с цитированием