В программке нужно изменить выбранное пользователем поле в StringGrid'e, при этом у StringGrid Options.goEditing=False - обязательное условие. Как узнать координаты ячейки?
А что, свойств Row и Col не достаточно? если надо узнать, куда указывает мышка, смотри метод MouseToCell
Может я не правильно вопрос сформулировл, попробую исправиться.
Мне нужно чтобы эти два элемента работали по типу Exel'я. Т.е. при изменении TEdit - поле, заранее выбранное пользователем, должно измениться соответственно. Вот я и спрашиваю, ести ли стандартные процедуры, чтобы узнать выделенную ячейку(не диапазон ячеек, а одну).
ps если это возможно с row и col - объясните как?
Что-то типа этого? Выбираешь ячейку - заносишь данные через TEdit, выбираешь другую - опять заносишь в нее данные? Посмотри аттач...
Ну да. Оно самое, только я имел ввиду стандартные параметры выбора ячейки. Ну например: StringGrid1.SelectedCells[ARow, ACel], есессно параметра SelectedCells нет, а жаль... Вот я и спрашиваю, может аналог есть?
Ну, хорошо, параметра SelectedCells нет, но ведь есть StringGrid1.Selected.Left и StringGrid1.Selected.Top ... Это тоже не устраивает?
Попробуй поменять то что было раньше на:
Код
procedure TForm1.Edit1Change(Sender: TObject);
Begin
s.Cells[s.Selection.Left, s.Selection.Top] := edit1.Text;
End;
Это то самое =) thnx. :yes:
Еще вопрос по StringGrid'у: Как бы зделать так, чтоб при определенном действии StringGrid очищался или создавался заново? (лучше очищался).
Может быть можно и по другому, но я делаю так:
Код
for i := 0 to pred(s.rowcount) do
s.Rows[i].Clear;
pred(x) = x - 1
Иначе будет выход за границы диапазона (нумерация то с 0 до N-1)
P.S. Кстати, иногда можно и Help открывать. Это там описано...
В хелп я заглядываю, иначе вопросов было бы намного больше.
Я с кпк читал тот пост, думал переменная.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.