IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> СтрингГрид, выделение
Client
сообщение 16.04.2009 18:56
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Привет!
Как выделить (сделать текущим, подсветить) нужный элемент (например 2 столбец 2 строчка)?
И еще, как можно изменить размер только фиксированных полей (слева и сверху)не трогая остальные?

Сообщение отредактировано: Client - 16.04.2009 18:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 10)
volvo
сообщение 16.04.2009 19:12
Сообщение #2


Гость






Цитата
Как выделить (сделать текущим, подсветить) нужный элемент
Можешь переопределять OnDrawCell и внутри нее проверять позицию отрисовываемой ячейки, и если это одна из нужных - то менять ее цвет. Но это приведет к необходимости полностью рисовать содержимое ячейки, поэтому есть такой способ:
procedure TForm1.Button1Click(Sender: TObject);
var gr: TGridRect;
begin
gr.Left := 2; gr.Top := 2; // Left - номер столбца, Top - номер строки
gr.BottomRight := gr.TopLeft;
StringGrid1.Selection := gr;
end;
 К началу страницы 
+ Ответить 
Client
сообщение 16.04.2009 19:17
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


gr.BottomRight := gr.TopLeft;
А это что(конец справа присвоить начало слева)?

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.04.2009 19:24
Сообщение #4


Гость






А это просто копирование внесенных в top и left номеров строки/столбца еще и в bottom и right, чтобы выделялась одна клетка грида. Можешь сделать так:
  gr.Left := 2; gr.Top := 2; // Left - номер столбца,  Top - номер строки
gr.Right := 2; gr.Bottom := 2;
, если не лень. Но зачем делать длинным путем то ,что можно сделать быстрее? smile.gif
 К началу страницы 
+ Ответить 
Client
сообщение 16.04.2009 19:35
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Ясно, СПАСИБО!
А как можно изменить размер только фиксированных полей не трогая остальные?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.04.2009 19:47
Сообщение #6


Гость






А вот это я сомневаюсь, что можно: потому что если уменьшишь высоту фиксированных ячеек, то фикс. строка, конечно, уменьшится по высоте, но вот в фикс. столбце что делать? Оставлять просветы? То же самое касается и ширины... А посему это вряд ли допустимо. Разве что попробовать рисовать самостоятельно.
 К началу страницы 
+ Ответить 
Client
сообщение 16.04.2009 20:33
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Не так объяснил, не сам размер ячеек, а как бы отступы сверху и слева. На скрине то что хотел спросить)

Сообщение отредактировано: Client - 16.04.2009 20:34


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.04.2009 20:50
Сообщение #8


Гость






  StringGrid1.ColWidths[0] := 50;
StringGrid1.RowHeights[0] := 10;
Так?
 К началу страницы 
+ Ответить 
Client
сообщение 16.04.2009 21:36
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


ДА, то, что надо! good.gif
Спасибо!

Сообщение отредактировано: Client - 16.04.2009 21:36
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Client
сообщение 17.04.2009 19:03
Сообщение #10


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Сейчас будет очень глупый вопрос-как правильно сохранить проект, чтобы все файлы были под одним именем?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.04.2009 19:25
Сообщение #11


Гость






Что значит "под одним именем"? Все с одинаковыми названиями, но разными расширениями? Нельзя этого сделать, имя файла-проекта (dpr-файл) должно отличаться от имен модулей...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.06.2025 6:16
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"