:: Visual Foxpro, Foxpro for DOS
Ошибка Anchor
Sergey Konoplev
Автор

Сообщений: 99
Откуда: Krasnodar
Дата регистрации: 25.02.2004
Обнаружил глюк при задании свойства Anchor для Grid'а, помещенного в контейнер: при ресайзинге формы один или оба ScrollBar'а визуально искажаются. Запустите ниже приведенную программу и поизменяйте размеры формы мышкой.

* Тема: Ошибка свойства Anchor
* Описание: Искажение областей ScrollBars Grid'ов, находящихся в
* контейнере, при Resize формы
create cursor cur1(f1 c(10), f2 c(10))
* Первый раз запустите программу как есть, а затем раскомментируйте
* две следующие строки и запустите еще раз
* insert into cur1(f1, f2) value('aaa', 'bbb')
* insert into cur1(f1, f2) value('ccc', 'ddd')
select cur1
go top in cur1
oForm = CreateObject("form1")
with oForm
with .pageframe1
.page1.AddObject('grid1', 'grid')
with .page1.grid1
.ColumnCount = 2
.Height = 231
.Left = 8
.Top = 7
.Width = 146
.Name = "Grid1"
.Anchor = (1+2+4+8)
.Visible = .t.
.Refresh
endwith
.page2.AddObject('container1', 'container')
with .page2.container1
.Top = 8
.Left = 8
.Width = 145
.Height = 227
.Name = "Container1"
.Anchor = (1+2+4+8)
.Visible = .t.
.AddObject('grid2', 'grid')
with .grid2
.ColumnCount = 2
.Height = 216
.Left = 5
.Top = 5
.Width = 134
.Name = "Grid2"
.Anchor = (1+2+4+8)
.Visible = .t.
endwith
endwith
endwith
.container1.AddObject('grid3', 'grid')
with .container1.grid3
.ColumnCount = 2
.Height = 264
.Left = 5
.Top = 5
.Width = 134
.Name = "Grid3"
.Anchor = (1+2+4+8)
.Visible = .t.
endwith
endwith
oForm.Show(1)
DEFINE CLASS form1 AS form
Top = 0
Left = -1
Height = 280
Width = 460
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT pageframe1 AS pageframe WITH ;
ErasePage = .T., ;
PageCount = 2, ;
Anchor = (1+2+4+128), ;
Top = 2, ;
Left = 3, ;
Width = 166, ;
Height = 274, ;
Name = "Pageframe1", ;
Page1.Caption = "Page1", ;
Page1.Name = "page1", ;
Page2.Caption = "Page2", ;
Page2.Name = "page2"
ADD OBJECT container1 AS container WITH ;
Anchor = (1+32+4+128), ;
Top = 2, ;
Left = 171, ;
Width = 145, ;
Height = 274, ;
Name = "Container1"
ADD OBJECT grid4 AS grid WITH ;
ColumnCount = 2, ;
Anchor = (1+32+4+8), ;
Height = 274, ;
Left = 321, ;
Top = 2, ;
Width = 134, ;
Name = "Grid4", ;
Column1.Name = "Column1", ;
Column2.Name = "Column2"
ENDDEFINE




------------------
С наилучшими пожеланиями, Сергей
Ratings: 0 negative/0 positive
Re: Ошибка Anchor
Андрей Давыдов

Сообщений: 1411
Дата регистрации: 08.02.2003
С якорем метамарфозы не только в гриде.
Форточки в pageframe тоже, если не свеху.
На ut был обсос.




------------------
Ratings: 0 negative/0 positive
Re: Ошибка Anchor
Aleksey Tsingauz [MSFT]
Здравствуйте, Сергей!

Цитата:
Обнаружил глюк при задании свойства Anchor для Grid'а, помещенного в контейнер: при ресайзинге формы один или оба ScrollBar'а визуально искажаются.

Спасибо за код, описанная проблема с перерисовкой ScrollBar-а уже исправлена.

Aleksey Tsingauz
Visual FoxPro Dev Team

Ratings: 0 negative/0 positive
Re: Ошибка Anchor
Aleksey Tsingauz [MSFT]
Здравствуйте, Андрей!
Цитата:
С якорем метамарфозы не только в гриде.
Форточки в pageframe тоже, если не свеху.
На ut был обсос.

Я не помню чтобы на UT был действительно отрепортирован баг связанный с PageFrame Anchor. Конечно, я мог пропустить то сообщение или память мне изменила и я о нем забыл. Не могли бы вы указать номер сообщения или описать в чем там суть?

Aleksey Tsingauz
Visual FoxPro Dev Team
Ratings: 0 negative/0 positive
Re: Ошибка Anchor
Андрей Давыдов

Сообщений: 1411
Дата регистрации: 08.02.2003
2 Aleksey Tsingauz [MSFT]

Привет, Алексей.
Права поиска по конфе на ut у меня нет.
Пост был от Fabio Lunardon и если не ошибаюсь
ты сам участвовал в той ветке. Чем вс:е закончилось
я не уследил. Смысл, был в том что при PageFrame с
TabOrientation#1 внутри другого PageFrame'а глючит
прорисовка первого. Было что-то похожее:

PUBLIC goFrm
goFrm=CREATEOBJECT("Form")
goFrm.AddObject("pgf","PageFrame")
goFrm.pgf.Move(20,20,120,120)
goFrm.pgf.Visible=.T.
goFrm.pgf.Anchor=1+2+4+8
goFrm.pgf.PageCount=2
goFrm.pgf.Page1.AddObject("pgf","PageFrame")
goFrm.pgf.Page1.pgf.Visible=.T.
goFrm.pgf.Page1.pgf.Move(30,30,60,60)
goFrm.pgf.Page1.pgf.Anchor=1+2+4+8
goFrm.pgf.Page1.pgf.PageCount=2
goFrm.pgf.Page1.pgf.TabOrientation=2
goFrm.Show()

P.S. DragFullWindows (Отображать содержимое при перетаскивании) включено.




------------------
Ratings: 0 negative/0 positive


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

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

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