StringGrid ограничение ввода

VCL, KOL, CLX и др. Свои компоненты
Ответить
samurayka
Сообщения: 1
Зарегистрирован: 06 ноя 2006, 16:07

06 ноя 2006, 16:14

пожалуйста выручайте....я только учусь, а мне надо уже штуку одну сделать...задание было такое: используя stringgrid вычислить всякие там экономические показатели...в 1-й столбец вводишь числа, во 2-м расчеты и т.д. через один...все нормально, но надо сделать так, чтобы в каждый 2-й столбец (где расчитывается) нельзя было вводить ничего...я нигде не могу этого найти.. :(
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

06 ноя 2006, 20:48

Установка атрибута Только для чтения у столбцов компонента StringGrid
Юзать можно к примеру в обработчике события OnSelectCell

Код: Выделить всё

if Col mod 2 = 0 then
  grd.Options := grd.Options + [goEditing]
else
  grd.Options := grd.Options - [goEditing];
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

07 ноя 2006, 11:06

можно использовать метод OnSelectCell

Код: Выделить всё

procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col, Row: Longint; var CanSelect: Boolean);
begin
  CanSelect := (Col mod 2) <> 0;
end;
тогда юзер просто не сможет выделить эту ячейку
Ответить