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

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

:-) ReadOnly для ячейки StringGrida [D6, Win95/98]


Артём К ©   (2003-01-11 08:20:00) 

Привет всем!

Как установить свойство ReadOnly для ячейки StringGrida?

Я делал так:

if (ARow = Number) then
Data.Options := Data.Options - [goEditing]
else
Data.Options := Data.Options + [goEditing];

Но здесь ячейка становится полностью недоступной. А мне надо
сделать так, чтобы можно было Скопировать информацию.
Короче такое же свойство как у Edita.

:-) Заранее спасибо!


Tano   (2003-01-11 21:41:00) [1]

Сам не пробовал, но может получиться:
В обработчике OnKeyPress фильтруй входящий Key (например: если кроме Tab и Esc, то Key:=0). Такая фишка работает на TEdit.
Только насчет клавиши Del - не сработает (у нее двухбайтовый скан-код). Можно попробовать с OnKeyDown - там Key:Word - код вообще любой нажимаемой на клаве кнопки.
Так и содержимое нечем изменять будет как бы редактирование сохраниться :)

Кстати, пример ЮЮ © компилируется (только Cells, а не Cell)


Артём К   (2003-01-11 10:47:00) [2]

Вся фишка в том, что

[Error] : Left side cannot be assigned to


ЮЮ   (2003-01-11 08:49:00) [3]

procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
if (ARow = Number) then Value := TStringGrid(Sender).Cell[ACol,
ARow] // оставляем то, что было до редактирования

end;


Наверх

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