Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: C++ Builder установка и сброс свойств Options
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Dawyd
Привет, всем.
Тут есть интересная проблемка, как можно программно опрашивать, устанавливать и сбрасывать соответствующие свойства у компонента StringGrid в C++ Builder, конструкции интуитивно понятные типа
Grid->Options->goEditing = true;
не прокатывают.

Подсказали мне такой вариант решения проблемы Grid->Options << goEditing; работает, но как только его выключить, т.е. сбросить не известно как, пока я сделал так:
Grid->Options.Clear();
Grid->Options << goFixedVertLine
<< goFixedHorzLine
<< goVertLine
<< goHorzLine
<< goRangeSelect;
работает, но не то сбравываем все в ноль, а потом устанавливаем все которые нужны, при этом я выставляю их как в инспекторе объектов, а работает не совсем как по умолчанию (до манипуляций с опциями).

Да и ещё по ходу программы мне поразному надо реагировать на наличие или отсутствия свойства редактируемости таплицы, как его можно прочитать.

P.S. Заранее благодарен за любой ответ.
Dawyd
Сам уже нашел как это делается
Сбрасывается свойство редактируемости так Grid->Options >> goEditing;
а опрашивается так if (Grid->Options.Contains(goEditing)), только помоему в
StringGrid глюк есть или я, чёто не докурил.

После манипуляций со свойствами становится возможный редактирование фиксированных строк и столбцов при вхождении на них курсора, они дублируются и могут редектироваться, хотя до манипуляций такого не происходит, может кто сталкивался с такой ситуацией как быть?
shasik
Цитата(Dawyd @ Sep 10 2007, 13:44) *
Сам уже нашел как это делается
Сбрасывается свойство редактируемости так Grid->Options >> goEditing;
а опрашивается так if (Grid->Options.Contains(goEditing)), только помоему в
StringGrid глюк есть или я, чёто не докурил.


TStringGrid здесь абсолютно не причем. Разбирайтесь с таким типом как Set (по-русски, точно не помню, а смотреть лень, но по-моему это переводится как множество). У него есть свои методы (добавление,удаление из множества и т.д.), их и юзайте.
Просто Set часто встречается в VCL, поэтому разумнее один раз понять его смысл, чем каждый раз хаить очередной нужный компонент.
evg123
Цитата(Dawyd @ Sep 10 2007, 13:44) *
Сам уже нашел как это делается
Сбрасывается свойство редактируемости так Grid->Options >> goEditing;
а опрашивается так if (Grid->Options.Contains(goEditing)), только помоему в
StringGrid глюк есть или я, чёто не докурил.

StringGrid действительно глючный компонент (по крайней мере в BCB6).
Один из его глюков - щелкнуть мышкой на стрингридовском скролбаре, а затем гдето в
произвольном месте формы начать крутить мышечное колесо. Сразу - глобальный сбой,
причем код-гуард не ловит ничего.

Доходило до того, что писали свои перехватчики сообщений от Win-ды, которые блокировали
эти мышечные месаги, направленные в сторону стрингрида.
Но об этом лучше пойти на sql.ru
nss
Многие глюки, в том числе StringGrid лечит 4 апдейт на билдер.
Качнуть можно от сюда h_t_t_p://www.dep.ru/downloads/pub/bcb6_eng_ent_upd4.exe
Degun
Цитата(Dawyd @ Sep 10 2007, 14:44) *
После манипуляций со свойствами становится возможный редактирование фиксированных строк и столбцов при вхождении на них курсора, они дублируются и могут редектироваться, хотя до манипуляций такого не происходит, может кто сталкивался с такой ситуацией как быть?

Может быть сбрасываются свойства FixedCols или FixedRows?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.