Помощь - Поиск - Пользователи - Календарь
Полная версия: СтрингГрид
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
Client
Привет!
Как выделить (сделать текущим, подсветить) нужный элемент (например 2 столбец 2 строчка)?
И еще, как можно изменить размер только фиксированных полей (слева и сверху)не трогая остальные?
volvo
Цитата
Как выделить (сделать текущим, подсветить) нужный элемент
Можешь переопределять 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
gr.BottomRight := gr.TopLeft;
А это что(конец справа присвоить начало слева)?

volvo
А это просто копирование внесенных в top и left номеров строки/столбца еще и в bottom и right, чтобы выделялась одна клетка грида. Можешь сделать так:
  gr.Left := 2; gr.Top := 2; // Left - номер столбца,  Top - номер строки
gr.Right := 2; gr.Bottom := 2;
, если не лень. Но зачем делать длинным путем то ,что можно сделать быстрее? smile.gif
Client
Ясно, СПАСИБО!
А как можно изменить размер только фиксированных полей не трогая остальные?
volvo
А вот это я сомневаюсь, что можно: потому что если уменьшишь высоту фиксированных ячеек, то фикс. строка, конечно, уменьшится по высоте, но вот в фикс. столбце что делать? Оставлять просветы? То же самое касается и ширины... А посему это вряд ли допустимо. Разве что попробовать рисовать самостоятельно.
Client
Не так объяснил, не сам размер ячеек, а как бы отступы сверху и слева. На скрине то что хотел спросить)
volvo
  StringGrid1.ColWidths[0] := 50;
StringGrid1.RowHeights[0] := 10;
Так?
Client
ДА, то, что надо! good.gif
Спасибо!
Client
Сейчас будет очень глупый вопрос-как правильно сохранить проект, чтобы все файлы были под одним именем?
volvo
Что значит "под одним именем"? Все с одинаковыми названиями, но разными расширениями? Нельзя этого сделать, имя файла-проекта (dpr-файл) должно отличаться от имен модулей...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.