Вниз
Скачать: CL | DM;

TStringGrid - расширить   Найти похожие ветки 

← →
Proxytel ©   (2005-09-22 01:33) [0]

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

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


← →
MBo ©   (2005-09-22 09:37) [1]

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


← →
Vcoder ©   (2005-09-22 10:15) [2]

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

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


← →
Proxytel ©   (2005-09-22 11:44) [3]

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


← →
Vcoder ©   (2005-09-22 12:13) [4]

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

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


← →
Proxytel ©   (2005-09-22 12:36) [5]

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


← →
Vcoder ©   (2005-09-22 13:41) [6]

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


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


← →
Proxytel ©   (2005-09-23 13:12) [7]

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


← →
kami ©   (2005-09-23 19:03) [8]

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


← →
Proxytel ©   (2005-09-24 18:36) [9]

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


← →
wicked ©   (2005-09-24 22:29) [10]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
3-1138164463
TimScorp
2006-01-25 07:47
2006.03.19
Проверка условий в БД.


3-1138614007
Barsky
2006-01-30 12:40
2006.03.19
Чтение Number из файла Paradox (*.db)


2-1141484258
rolex
2006-03-04 17:57
2006.03.19
Нужно ли выгружать переменные?


9-1126245342
Slavikk
2005-09-09 09:55
2006.03.19
Отстреливыемые предметы в glscene


2-1141158956
Foton
2006-02-28 23:35
2006.03.19
Почему не виден ресурс




   Наверх