James,
Thank you very much for the code of your class. I will see if it can be applicable in my case.
>Dimitry,
>
>This is my memberclass code. I add activatepage() and pagechange() to my grid. Thisform.ildatatoupdate is a flag I use to know when someone changes data on the form. I disable the all the pages except the active page when data needs to be saved.
>
>
>DEFINE CLASS cpage AS page
> lRefreshOnPageChange = .f.
> name = "cpage"
> backcolor = 16638920
> PROCEDURE init()
> DODEFAULT()
> IF PEMSTATUS(thisform,"ildatatoupdate",5)
> BINDEVENT(thisform,"ildatatoupdate",this,"setdatatosavestatus",1)
> ENDIF
> ENDPROC
>
> PROCEDURE activate()
> thisform.lockscreen = .f.
> IF this.parent.nCurrentPage <> this.Parent.activepage
> this.Parent.activatepage(this.Parent.activepage)
> this.Refresh()
> ENDIF
> this.parent.ncurrentpage = this.Parent.activepage
> DODEFAULT()
> ENDPROC
>
> PROCEDURE deactivate()
> thisform.lockscreen = .t.
> this.parent.pagechange(this.Parent.activepage)
> IF PEMSTATUS(this.Parent,"nLastActivePage",5)
> this.Parent.nLastActivePage = this.Parent.activepage
> ENDIF
> DODEFAULT()
> ENDPROC
>
> PROCEDURE setdatatosavestatus()
> IF this.Parent.activepage <> this.pageorder
> this.Enabled = not thisform.ildatatoupdate
> ENDIF
> ENDPROC
>
>ENDDEFINE
>
>
>
>>The title of the message is kind of vague so let me explain.
>>
>>I have PageFrame with several pages and I need to execute a code when user changes to a certain page. Currently I do it in the Activate method of the page. But this method is called if user clicks on a lookup or opens another window and as soon as focus is back on the initial window, the Activate method fires again. So I have to set all kind of flags (properties) to know that the code already ran or not.
>>
>>I was wondering if there is another method of "trapping" when user changes page of a PageFrame?
>>
>>Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham