powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Прокрутка grid'а курсором мыши
9 сообщений из 9, страница 1 из 1
Прокрутка grid'а курсором мыши
    #39471060
st90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именно курсором...
Нужно выделять записи подведением курсора мыши.
Нужно вот для чего: в гриде сокращенная информация, делаю всплывающий самодельный хинт для показа подробностей при наведении мыши.
Но запись выделена щелчком мыши или клавиатурой может быть другая, поэтому надо бегать по записям прямо курсором.

Делаю в FMX, но не суть. Приму любые советы.
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39471187
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поэтому надо бегать по записям прямо курсором.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
  cxGrid1TableView1.DataController.RecordCount := 100;
  for i := 0 to cxGrid1TableView1.DataController.RecordCount-1 do
    cxGrid1TableView1.DataController.Values[i,0] := Random(1000);
end;

procedure TForm1.cxGrid1TableView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var H: TcxCustomGridHitTest;
begin
  H := cxGrid1TableView1.GetHitTest(X,Y);
  if H is TcxGridRecordCellHitTest then
    TcxGridRecordCellHitTest(H).GridRecord.Focused := true;
end;

...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476547
st90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr, спасибо!
Но под FMX Grid не смог адаптировать.
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476611
st90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал через grid.selectrow
Всё ок, но перемещается только по гриду, а по датасету нет :(
Как принудительно по датасету подвигать его?
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476630
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если грид DB, то при перемещение по нему автоматически позиционируется датасет.
Если не DB , то позиционируйте Locate-ом
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476646
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В FMX совершенно другая модель поведения. И дебильный грид. Поэтому традиционные подходы не будут работать.
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476774
st90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал через selectrow и dataset.RecNo.
Позже скину код.
Сам не ожидал, просто получилось.
Надо теперь только как-то отследить появление popupmenu...
Тоже та ещё фигня...
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476814
Пытливый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не работал с FMX, поэтому могу и наврать. Вот так попробуйте:
Код: pascal
1.
2.
3.
4.
5.
6.
procedure TForm1.Grid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
begin
 Grid1.Selected := Grid1.RowByPoint(X, Y);
 if Grid1.Selected < 0 then Exit;
 AdoTable1.RecNo := Grid1.Selected + 1;
end


Я не знаю, сколько в себя запихивает данных грид из датасета, но на тестовых табличках такой подход срабатывал.
...
Рейтинг: 0 / 0
Прокрутка grid'а курсором мыши
    #39476829
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПытливыйЯ не знаю, сколько в себя запихивает данных грид из датасетаОбычный DBGrid столько, сколько отображается строк
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Прокрутка grid'а курсором мыши
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]