Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to know when user changes page of PageFrame
Message
From
05/11/2005 16:51:45
James Blackburn
Qualty Design Systems, Inc.
Kuna, Idaho, United States
 
 
To
05/11/2005 16:08:33
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9
Miscellaneous
Thread ID:
01065767
Message ID:
01065771
Views:
15
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.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform