Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Исправление значения ячейки в StringGrid [D6, WinXP]


Hamster ©   (2005-09-24 22:18:00) 

Здравствуйте. В обработчике события stringgrid OnSetEditTextпишу следующий код:

len:=Length(Value);
if (ACol=1) and (len>0) and not (Value[len] in ['0'..'9']) then
  StringGrid1.Cells[ACol,ARow]:=Copy(Value,1,len-1);


При вводе недопустимого символа выделяется все значение ячейки, а мне этого не надо. Как от этого избавиться, т.е. чтобы просто последний введенный символ убирался?


Германн   (2005-09-25 01:23:00) [1]

2 PAVIA ©   (24.09.05 22:58) [3]
Вот ьолько StringGrid1.Col<>2 противоречит условию. :(
У автора же "if (ACol=1)".


Hamster   (2005-09-24 23:02:00) [2]

Ой...Не заметил...:)
Спасибо!


PAVIA   (2005-09-24 22:58:00) [3]

Тогда
if Not(Key in ['0'..'9'])or (StringGrid1.Col<>2)  then Key:=#0;
Пишеться без Selected.:)


Hamster   (2005-09-24 22:47:00) [4]

Мне надо чтобы исправлялось только значение во второй колонке, т.е. надо что-то типа StringGrid1.ColSelected, а такого я что-то не нашел.


PAVIA   (2005-09-24 22:40:00) [5]

Пиши в OnKeyPress
if not(Key in ['0'..'9']) then Key=#0;
Если не цифра то присвоить, код клавиши 0.


Наверх

Титульная страница Поиск, карта сайта Написать письмо