Главная страница
    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.011 c
9-1126694611
Signate
2005-09-14 14:43
2006.03.19
Управление источником света OpenGL


2-1141196983
Urvin
2006-03-01 10:09
2006.03.19
Тормоза Firebird a


4-1134633968
DSA
2005-12-15 11:06
2006.03.19
Помогите разобраться с DDE


2-1141472697
Saveliy
2006-03-04 14:44
2006.03.19
Где можно найти статейки про компоненты Tcpclient и Tcpserver ?


1-1139730336
Alextp
2006-02-12 10:45
2006.03.19
RLINK32: Too many resources to handle





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский