| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Scroll Bar |
| Автор: HappyLife 11.6.2008, 10:58 |
| Приветсвую вас уважаемые форумчане. Возник у меня вопрос, следующего характера. Каким образом я могу определить ширину scroll bar'а появляющемся в TDBGrid и, а также, отловить этот самый момент появления. Это крайне важно, для автоматического резайзинга столбцов, при изменении размеров TDBGrid. С Уважением Игорь. |
| Автор: Palladin 12.6.2008, 05:54 |
| Ну сам DBGrid появляется во время FormCreate, а ширина его DBGrid->Width. Вообще делай так, узнавай ширину а при FormActive формы на которой DBGrid ставь обработчик , в котором узнавай ширину уже появившегося DBGrid, изменяй ширину столбцов, вот и все |
| Автор: SerK 12.6.2008, 09:00 |
| У формы есть свойство OnResize, там и нужно отлавливать. |
| Автор: Palladin 12.6.2008, 16:54 |
| Он вроде про DBGrid спрашивал |
| Автор: Rrader 12.6.2008, 17:36 | ||
HappyLife, поигрался с компонентом. Вертикальный скролл у него всегда есть. Отследить появление горизонтального скролла проблематично. Сам факт наличия определяется кодом:
Однако событие WM_STYLECHANGED не срабатывает из-за тупой специфики некоторых API-функций А поэтому вешать код проверки оптимально не на что. Могу советовать только на WM_PAINT в оконную процедуру + флаговая система. |
| Автор: HappyLife 14.6.2008, 13:19 |
| Rrader, Однако и этот подход мне кажется крайне грамотным. Спасибо, буду пробовать. |