Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
ВнизФокус на Stringgrid Найти похожие ветки
← →
pavelkq (2009-01-15 14:18) [0]Устанавливаю фокус на строку (выделение строками).
StringGrid1.SetFocus;
StringGrid1.Row:=MyRow;
Срабатывает, но эта выделенная строка находится где-то внизу таблицы, за пределами видимости. Если ее двинуть вверх/вниз (клавишами или колесиком мышки), то строка сразу становится в видимой части таблицы. Как сделать, чтобы она сразу была видна посре перемещения на нее фокуса?
← →
{RASkov} © (2009-01-15 15:24) [1]В D7 код из [0] нормально отрабатывает... ничего двигать и нажимать дополнительно не нужно...
Но... Но если в данный момент(в момент выполнения кода [0]) Текущий Row у StringGrida = MyRow, и он не в области видимости, то да - ничего не произойдет....
Можно в данном случае поиграться с StringGrid.TopRow...
← →
Pavelkq (2009-01-15 20:47) [2]
> {RASkov} ©
StringGrid.TopRow не помог. У кого еще такие проблемы были и как их победить?
← →
MsGuns © (2009-01-15 21:00) [3]Чему равен RowCount ?
← →
{RASkov} © (2009-01-15 22:57) [4]> StringGrid.TopRow не помог.
Не верю. Ну да ладно....
А если сделать так:
StringGrid1.Row:=MyRow-1;
StringGrid1.Row:=MyRow;
StringGrid1.SetFocus;
? :) Не, так конечно делать не нужно, но попробуй.... Ибо:procedure TCustomGrid.SetRow(Value: Longint);
begin
if Row <> Value then FocusCell(Col, Value, True);
end;
Победить можно так:type TMyGrid = class(TCustomGrid);
procedure TForm1.Button1Click(Sender: TObject);
begin
TMyGrid(StringGrid1).FocusCell(StringGrid1.Col, MyRow, True);
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c