Главная страница
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.011 c
2-1257005562
minomorf
2009-10-31 19:12
2009.12.20
Как оргаизовать связку число-строка?


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


2-1257016742
maxstarts
2009-10-31 22:19
2009.12.20
Программа виснет при скрытие вкладок pagecontrol ов


13-1124363646
ilya39
2005-08-18 15:14
2009.12.20
CLR Debugger


15-1256014607
@!!ex
2009-10-20 08:56
2009.12.20
Как сделать движущуюся линию на Flash?