У меня есть несколько компонентов StringGrid в одном кадре. Все сетки имеют одинаковые заголовки. Я хотел бы, чтобы горизонтальная полоса прокрутки фрейма отображалась автоматически, если окно более узкое, чем ширина StringGrid. Вертикальная полоса прокрутки отображается правильно.
Фрейм, содержащий компоненты StringGrid, имеет значение Align: alClient. Для компонентов StringGrid установлено значение Align: alTop. И фрейм, и форма имеют AutoScroll: true.
Вот иерархия компонентов:
Form1
|- Frame21
|- StringGrid1
|- StringGrid2
Вот как выглядит форма в настоящее время (отсутствует горизонтальная полоса прокрутки):
Мне не нужны отдельные горизонтальные полосы прокрутки в каждом StringGrid, например:
Это не работает:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
this->Frame21->HorzScrollBar->Visible = true;
this->HorzScrollBar->Visible = true;
}
Вот связанный пост, который не отвечает на мой вопрос:
AutoSize=False
иAutoScroll=True
на фрейме, аAutoSize=False
иAutoScroll=False
на форме. В противном случае вы пытались вместо этого поместить элементы управленияTStringGrid
внутриTScrollBox
, выровненного по клиенту? - person Remy Lebeau   schedule 17.07.2020