Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.20;
Скачать: CL | DM;

Вниз

Фокус в DBGrid   Найти похожие ветки 

 
parasolka   (2008-12-19 11:46) [0]

Здравствуйте. В OnMouseMove грида происходит перебор записей DataSet, к которому подключен грид, поэтому фокус на гриде идет за курсором, что не очень удобно и некрасиво. Как мне отключить фокус на это время, но чтоб по OnClick грида фокусировалась и фокус оставалась в таком состоянии до следующего OnClick?


 
Сергей М. ©   (2008-12-19 13:28) [1]

см. TDataSet.Disable/EnableControls + TDataSet.Get/Goto/FreeBookmark


 
parasolka   (2008-12-19 13:53) [2]

Пробовал. Дело в том, что мне надо отображать Hint, если запись в ячейке не помещается. Делаю это следующим образом.

procedure TfrmMain.grdListMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var
   ScrPt, GrdPt: TPoint;
   Cell: TGridCoord;
   s: string;
   w, len: Integer;
begin
   ScrPt:=Mouse.CursorPos;
   GrdPt:=grdList.ScreenToClient(ScrPt);
   Cell:=grdList.MouseCoord(GrdPt.X, GrdPt.Y);
   if (Cell.X>0) and (Cell.Y>0) and (dmMain.qryList.Active) then begin
       dsList.DataSet.First;
       dsList.DataSet.MoveBy(Cell.Y-1);
       s:=grdList.Columns[Cell.X-1].Field.Value;
       w:=grdList.Columns[Cell.X-1].Width;
       len:=grdList.Canvas.TextWidth(s);
       if len>w then begin
           grdList.ShowHint:=True;
           grdList.Hint:=s;
       end
       else begin
           grdList.ShowHint:=False;
       end;
   end;
end;


Так вот, если использовать предложенный метод, то отображение Hint происходит некорректно, т. е. отображается не всегда.


 
Сергей М. ©   (2008-12-19 14:00) [3]

Хинты грида никак не связаны с методами дейтасета, упомянутыми в [1]


> отображается не всегда


Значит, судя по приведенному тобой коду, не всегда истинно условие len>w



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

Текущий архив: 2009.12.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1255966439
oldman
2009-10-19 19:33
2009.12.20
Говорят, сегодня День лицеев.


1-1228909434
Alex_C
2008-12-10 14:43
2009.12.20
Как в DBGrid отловить MouseWheel?


2-1257420503
-=SV=-
2009-11-05 14:28
2009.12.20
Возможно ли в заголовке PageControl поставить или добавить кноку?


15-1254758929
turbouser
2009-10-05 20:08
2009.12.20
Что-то с аськой опять...


1-1229336430
Afonya
2008-12-15 13:20
2009.12.20
Прорисовка пункта меню своими руками