![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение ширины ScrollBar в cxGrid [D7, WinXP]
shurets © (2012-05-17 10:40:00)Хочу изменить ширину ScrollBar в cxGrid.
Вот так работает:
procedure TForm1.Button1Click(Sender: TObject);
begin
View.Site.VScrollBar.Width := GetSystemMetrics(SM_CXVSCROLL) * 2;
View.LayoutChanged;
end;
А так не работает:
procedure TForm1.FormShow(Sender: TObject);
begin
View.Site.VScrollBar.Width := GetSystemMetrics(SM_CXVSCROLL) * 2;
View.LayoutChanged;
end;
Очевидно, что нужно, чтобы ширина ScrollBar изменялась без нажатий на кнопку.
Как это сделать?
brother (2012-05-17 20:35:00) [1]> Пробовал, работает.
так предупреждать надо!
> Хочется как-нибудь поизящнее
> что кто-то (сам cxGrid?) меняет размер... и нужно найти
> где.
имхо генофонд копать нужно...
Cobalt (2012-05-17 18:57:00) [2]А в отладке работает?
sniknik (2012-05-17 18:00:00) [3]значит зависит не от того в каком событии, а от того, что кто-то (сам cxGrid?) меняет размер... и нужно найти где.
вот сделай изменение в FormShow, а по кнопке проверь размер, он остался измененным или вернулся к изначальным? возможно нужно делать в афтеропен связанного датасета.
shurets (2012-05-17 12:18:00) [4]
> FormActivate ?
Аналогично OnShow :(
sniknik (2012-05-17 11:59:00) [5]> Хочется как-нибудь поизящнее :)
FormActivate ?
shurets (2012-05-17 11:13:00) [6]brother,
Пробовал, работает. Хочется как-нибудь поизящнее :)
brother (2012-05-17 11:03:00) [7]на форму кинь таймер, аткив ему и интервал 1мс, в он таймер выключи таймер (он нужен один раз, типа формшоу) и далее в таймере твой код