Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование ScrollBars [D7]


fog ©   (2007-11-18 22:12:00) 

Имеется компонент(от TGraphicControl), самомасштабируемый отностительно текущей ClientWidth(Height).
Если он на форме (alClient), при задании (показ 50 %)
HorzScrollBar.Range := FMCW.ClientWidth*2
при запуске показывает 50 %, а при Maximize - 70-80%
Как добиться эквивалентности вывода при использовании скроллов от формы?


Германн   (2007-11-20 01:06:00) [1]


> Без двух изменений HorzScrollBar.Position неправильно отрисовывается
> (со смещением). Хотелось бы понять.

Хм. Было что-то похожее, именно связанное с Resize-ом, но с другим компонентом. Raskov тогда нашел самое грамотное решение. Какое не помню. И не могу вспомнить, поскольку у себя применил более простое решение, подошедшее моей задаче.
P.S. Дело было в апреле-мае нынешнего года.


fog   (2007-11-19 22:15:00) [2]

Задачу решил, но получается чушь. Чтобы правильно все отображалось, приходится делать:
procedure TForm1.FormResize(Sender: TObject);
begin
HorzScrollBar.Range := ClientWidth*2;
HorzScrollBar.Position := FPos+1;
HorzScrollBar.Position := FPos-1;
end;


Без двух изменений HorzScrollBar.Position неправильно отрисовывается (со смещением). Хотелось бы понять.


fog   (2007-11-19 15:41:00) [3]

Компонент - preview; alClient + функции печати, масштабирования и т.п. = программа по обработке и печати своих данных


Palladin   (2007-11-19 12:14:00) [4]

ну а зачем ты его делаешь alClient?


Наверх

Титульная страница Поиск, карта сайта Написать письмо