This issue has nothing to do with the Anchor property. Here is the code that doesn't use the Anchor property:
*********************************
CLEAR
PUBLIC oform1
oform1=NEWOBJECT("form1")
oform1.Show
oform1=NULL
RETURN
DEFINE CLASS form1 AS form
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT pageframe1 AS pageframe WITH ;
ErasePage = .T., ;
PageCount = 2, ;
Top = 36, ;
Left = 50, ;
Width = 241, ;
Height = 169, ;
TabOrientation = 2, ;
Name = "Pageframe1", ;
Page1.FontSize = 20, ;
Page1.Caption = "Page1", ;
Page1.Name = "Page1", ;
Page2.Caption = "Page2", ;
Page2.Name = "Page2"
PROCEDURE pageframe1.Init
ACTIVATE SCREEN
?"Original"
?[Width],241,[Height],169
?"Current"
?[Width],this.Width,[Height],this.Height
ENDPROC
ENDDEFINE
*********************************
The result is the same in VFP8 and VFP9:
---------------------------------------------
Original
Width 241 Height 169
Current
Width 300 Height 146
---------------------------------------------
On my Observed notes i don't say that the cause of this is anchor;
anchor is writted on title because the second BUG is visible with a anchored Pageframe.
Next code show a workaround for this bug, and show another bug with foxel scalemode.
CLEAR
CLEAR CLASS form1
ACTIVATE SCREEN
yScaleMode = 3
? '------- ScaleMode Pixel -------'
WITH CREATEOBJECT("form1")
.visible = .T.
ENDWITH
CLEAR CLASS form1
yScaleMode = 0
? '------- ScaleMode Foxel -------'
WITH CREATEOBJECT("form1")
.visible = .T.
ENDWITH
DEFINE CLASS form1 AS form
SCALEMODE = m.yScaleMode
ADD OBJECT pageframe1 AS pageframe WITH ;
ErasePage = .T., ;
PageCount = 2, ;
Top = 36, ;
Left = 50, ;
Width = 250, ;
Height = 200
PROCEDURE pageframe1.Init
?"Original"
?[Width],241,[Height],169
?"Current"
?[Width],this.Width,[Height],this.Height,this.PageHeight
THIS.ResetToDefault('Width')
THIS.ResetToDefault('Height')
THIS.ResetToDefault('PageHeight')
?"Class size reloaded,"
IF THISFORM.ScaleMode = 0
? " with foxel metrics return set wrong values"
ELSE
?? " this is a workaround"
ENDIF
?[Width],this.Width,[Height],this.Height,this.PageHeight
ENDPROC
ENDDEFINE