for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
  

Ошибка Anchor
Sergey Konoplev
Автор

Сообщений: 99
Откуда: Krasnodar
Дата: 21.07.04 16:16:35
Обнаружил глюк при задании свойства 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
Дата: 22.07.04 13:59:31
С якорем метамарфозы не только в гриде.
Форточки в pageframe тоже, если не свеху.
На ut был обсос.




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

Re: Ошибка Anchor
Aleksey Tsingauz [MSFT]
Дата: 25.07.04 15:13:43
Здравствуйте, Сергей!

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

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

Aleksey Tsingauz
Visual FoxPro Dev Team

Ratings: 0 negative/0 positive

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

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

Aleksey Tsingauz
Visual FoxPro Dev Team
Ratings: 0 negative/0 positive

Re: Ошибка Anchor
Андрей Давыдов

Сообщений: 1411
Дата: 25.07.04 16:30:23
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: 17 (Гостей: 17)

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