Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Компоненты";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.014 c
15-1140863196
PARUS
2006-02-25 13:26
2006.03.19
Music Instrumental Digital Interface Как-то так...


2-1141394155
Fenix
2006-03-03 16:55
2006.03.19
Savedialog. Проблема с расширениями.


9-1126538054
WonderfulDay
2005-09-12 19:14
2006.03.19
запаковать растры


2-1141533960
Nsk3d
2006-03-05 07:46
2006.03.19
выделение всего


15-1128596340
Cherrex
2005-10-06 14:59
2006.03.19
VS против Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский