![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование 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?