Главная страница
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.016 c
2-1256914960
Ivan
2009-10-30 18:02
2009.12.20
Список названий сетевых соединений


2-1257241538
EH
2009-11-03 12:45
2009.12.20
Поиск и замена в Excel


15-1256078084
Kerk
2009-10-21 02:34
2009.12.20
Политкорректность


15-1256237040
POOP
2009-10-22 22:44
2009.12.20
Есть ли от этого польза?


2-1257257601
RWolf
2009-11-03 17:13
2009.12.20
VirtualTreeView