Главная страница
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.01 c
2-1257157792
yantar92
2009-11-02 13:29
2009.12.20
Глюки с вызовом процедуры по ссылке


1-1229369606
Zilog
2008-12-15 22:33
2009.12.20
TListView - где это событие найти?


4-1225282594
Н_А
2008-10-29 15:16
2009.12.20
winAPI


15-1256145675
palva
2009-10-21 21:21
2009.12.20
Неполадки в форуме?


6-1210676882
MishaLuk
2008-05-13 15:08
2009.12.20
работа с базой по сети