Большой Воронежский Форум
» Программирование>Delphi 7.0: Программное включение/выключение редактирования StringGrid
mppm 15:25 18.04.2006
Всем привет!
Проблема в том, чтобы во время выполнения программы в зависимости от некоторых условий включался либо выключался режим редактирования содержимого ячеек StringGrid.
Я так понимаю, что должно быть что-то типа:
StringGrid1.Options := goEditing;
Но Options и goEditing - разных типов, а как их преобразовать к одному типу не знаю??? [Ответ]
J++ 15:32 18.04.2006
Там есть такое понятие как Set (TSet? не понмю, ИМХО просто Set).

Не помню как это в Паскале выражается, но в "борландовском" С++ (С++Builder) было что-то вроде:

(не помню точное название класса для StringGrid-овых options, пишу приблизительно)
TStringGridOptions go=new TStringGridOptions();
go<<goEditing; // как бы "вставка" в эти go новой опции goEditing, это битовые маски
StringGrid1.Options=go;

Тебе нужно сделать примерно то же на Паскале. [Ответ]
mppm 16:07 18.04.2006
Может это поможет:
Delphi syntax:
type
TGridOption = (goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected, goRowSizing, goColSizing, goRowMoving, goColMoving, goEditing, goTabs, goRowSelect, goAlwaysShowEditor, goThumbTracking);
TGridOptions = set of TGridOption;
C++ syntax:
enum TGridOption { goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected, goRowSizing, goColSizing, goRowMoving, goColMoving, goEditing, goTabs, goRowSelect, goAlwaysShowEditor, goThumbTracking };
typedef Set<TGridOption, goFixedVertLine, goThumbTracking> TGridOptions; [Ответ]
mppm 16:19 18.04.2006
А-а-а-а-а !!!
Сам спросил, сам ответил

If условие Then StringGrid1.Options := StringGrid1.Options + [goEditing] Else StringGrid1.Options := StringGrid1.Options - [goEditing];
[Ответ]
Вверх