Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.131.178] |
|
Сообщ.
#1
,
|
|
|
Добрый день всем.
Возник такой вопрос: в процессе работы приложения происходит обновление StringGrid. После отработки события onDrawCell для всех ячеек мне нужно выделить определенную (вновь добавленную) строку. Как мне ее выделить? Вернее, как выделить понятно, но куда вставить это выделение? Я не могу определить, когда закончится перерисовка всех ячеек. |
Сообщ.
#2
,
|
|
|
так рисуй ячейку сразу выделеной.
то есть в обработчике onDrawCell проверяешь является ли эта ячейка выделена, если да то рисуешь ее с рамочкой фокуса/другим цветом. |
Сообщ.
#3
,
|
|
|
Выделение и другой цвет (по-моему) - разные вещи. Выделение пропадает при установке курсора на другую ячейку, а цвет? И еще - после отрисовки новая строка должна быть видна (установить TopRow). Тот же вопрос - когда это сделать?
|
Сообщ.
#4
,
|
|
|
эм....
то есть ты думаешь что сами компоненты как то по другому делают? http://prntscr.com/hk1pcc Цитата newkaz @ не нужно выделить определенную (вновь добавленную) строку. или ты имеешь ввиду переместить фокус на последнюю добавленную строку. (само упоминание onDrawCell вводит в заблуждение) тогда достаточно после добавления строки присвоить selection StringGrid1.Selection := TGridRect(rect(0,StringGrid1.RowCount - 1,StringGrid1.ColCount, StringGrid1.RowCount - 1)); |