:: Visual Foxpro, Foxpro for DOS
Убрать ScrollBar
PaulWist
Автор

Сообщений: 14616
Дата регистрации: 01.04.2004
Форма со ScrollBars = 3 (оба) в ней контейнер.

Форма разворачивается на весь экран.

Если руками свернуть форму в Normal у формы возникают оба скроллбара.

Код:

PUBLIC oFrm
oFrm = CREATEOBJECT("frm")
oFrm.SHOW()
DEFINE CLASS frm AS form
ScrollBars = 3
WindowState = 2
ADD OBJECT Cont1 AS Container WITH ;
TOP = 0, ;
LEFT = 0, ;
Width = 100,;
Height = 100,;
ANCHOR = 15

Вопрос: как избавиться от скроллбаров после сворачивание формы в Normal, ведь явно контейнер умещается в поле формы.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Убрать ScrollBar
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Procedure resize()
this.Refresh()
Ratings: 0 negative/0 positive
Re: Убрать ScrollBar
PaulWist
Автор

Сообщений: 14616
Дата регистрации: 01.04.2004
Олег, не подсказывать

Если перевести Anchor, когда не изменяются правая и нижняя границы, то работает всё штатно.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Убрать ScrollBar
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
PaulWist
Если перевести Anchor, когда не изменяются правая и нижняя границы, то работает всё штатно.

Чета не могу понять.

А пока еще варик.

Procedure resize()
this.ScrollBars = 0
this.ScrollBars = 3
Ratings: 0 negative/0 positive
Re: Убрать ScrollBar
PaulWist
Автор

Сообщений: 14616
Дата регистрации: 01.04.2004
Taran
PaulWist
Если перевести Anchor, когда не изменяются правая и нижняя границы, то работает всё штатно.

Чета не могу понять.


Пример (ANCHOR = 3 правая и нижняя границы не привязаны к правой и нижней границе формы, тогда всё работает штатно):

PUBLIC oFrm
oFrm = CREATEOBJECT("frm")
oFrm.SHOW()
DEFINE CLASS frm AS form
ScrollBars = 3
WindowState = 2
ADD OBJECT Cont1 AS Container WITH ;
TOP = 0, ;
LEFT = 0, ;
Width = 250,;
Height = 200,;
ANCHOR = 3
ENDDEFINE


Taran
А пока еще варик.

Procedure resize()
this.ScrollBars = 0
this.ScrollBars = 3

Ты забыл про свой же код forum.foxclub.ru

PROCEDURE Grid.Scrolled(nDirection)
* без этой отработки на большом экране картинка замораживается
IF INLIST(nDirection,6,7) && кусок влево-вправо
thisform.LockScreen=.T.
this.Refresh()
thisform.LockScreen=.F.
ENDIF
ENDPROC

без него не рефрешится "длинная форма", а с ним картинка замораживается


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Убрать ScrollBar
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Нет большого экрана, влияние LockScreen не наблюдаю. У меня все шевелится.

Еще варик. Именно при начальных условиях, т.е. Anchor=15.

procedure Resize()
?
Ratings: 0 negative/0 positive
Re: Убрать ScrollBar
PaulWist
Автор

Сообщений: 14616
Дата регистрации: 01.04.2004
Мдя, так и не получилось подружить Anchor с формой, приходится его отключать, затем перерисовывать форму (объекты), затем опять включать. Или же оставлять Anchor для вложенных объектов при пропорциональном одновременном изменении внешнего контейнера.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 27 (Гостей: 27)

© 2000-2024 Fox Club 
Яндекс.Метрика