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

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

TStringGrid - расширить [D6, D7, Win2k, WinXP]


Proxytel ©   (2005-09-22 01:33:00) 

Подскажите, требуется создать TStringGrid в котором:
первый столбец - обычный не редактируемый текстовый(по умолчанию);
второй столбец - это поля с одними только чекбоксами,
третий - текстовый мог бы просто редактироваться с клавиатуры,
четвертый - текстовый редактируемый + при его фокусе в конце поля появляется кнопка

В принципе я не знаю как сделать только чекбоксы и кнопки в конце полей, понятно, что остальное по умолчанию и так все есть. Указал по причине того, что не знаю как сделать один столбец не редактируемым, а другой редактируемым в одном и том же TStringGrid :(


wicked   (2005-09-24 22:29:00) [1]

или найти на торрике TGridView (тот, что бесплатный; есть еще и платный - это разные компоненты)....


Proxytel   (2005-09-24 18:36:00) [2]

Как отформатировать текст разным способом для каждого столбца TStringGrid ? (например шрифт и выравнивание- по центру или слева)


kami   (2005-09-23 19:03:00) [3]

Сходите на Торри, и скачайте TSortGrid (архив называется bksgrid), по тому, что требуется - чекбоксы, кнопки и стандартные Edit`ы - то что нужно.


Proxytel   (2005-09-23 13:12:00) [4]

Нету ни у кого случайно примерчика работы с TStringGrid ?
Есть ли ему упрощенная альтернатива?


Vcoder   (2005-09-22 13:41:00) [5]

Все здесь:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);


Вот этот Rectи содержит координаты выделенной ячейки.


Proxytel   (2005-09-22 12:36:00) [6]

Как определить координаты b размер ячейки в TStringGrid ?


Vcoder   (2005-09-22 12:13:00) [7]

Кнопка не поедет - ее координаты ты будешь определять каждый раз перед тем, как сделать видимой.

А чекбоксы еще как поедут - когда ты будешь прокручивать таблицу, крайне сложно будет это отследить и двигать толпу чекбоксов. На мой взгляд проще написать свой обработчик OnDrawCellи рисовать в каждой ячейке что душе угодно, например изображения чекбоксов.


Proxytel   (2005-09-22 11:44:00) [8]

Вобще честно говоря насчет зарание расположеных на форме кнопок - это идея, что-то я не подумал об этом сразу. Может быть тогда и чекбоксы покидать поверх TStringGrid?
Но не получится ли ситуации когда поедет размер ячеек и поедет вся эта хрупкая конструкция? Бывают же случаи на разных платформах и при разных размерах шрифтов системы.


Vcoder   (2005-09-22 10:15:00) [9]

Насчет чекбоксов есть идея (правда муторная) - поставить DefaulDrawingв False и прорисовывать все самому в событии OnDrawCell. Но прорисовывать придется все.

Насчет появления кнопки - заранее разместить кнопку на форме, причем свойство Visibleвыставить в False, затем в StringGrid.OnSelectCellв зависимости, в каком столбце выделена ячейка, устанавливать координаты и свойство Visibleкнопки соответствующим образом.


MBo   (2005-09-22 09:37:00) [10]

В OnSelectCell в заdисимости от номера столбца выставлять goEditing в Options


Наверх

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