HOME | SIGN UP | ACCOUNT | SUBSCRIBE | TROUBLESHOOTING | LOGIN
News · Meetings · Jobs · Downloads · Universal Thread articles · Web articles · Conference coverages · Consultants · Blogs · FAQ · User groups · Photos · Videos

Copy
Update
Remove
ID: 7921
Created on: June 23, 2000 15:48
Updated on: April 22, 2010 21:31

How can I make my form Modal/Modeless on the fly.
You can make your form Modal/Modeless on the fly. This may be useful for preventing users to switch to other forms before they finished entering the data.

Rating:  Rate this entry
Created by: 
Nick Neklioudov
Cgi Group Inc.
Halifax, Nova Scotia

Here is the sample form. (Thanks to Christof Lange for brushing up the code sequence.) Note the code in Click() events - that's all you need to make it work

PUBLIC oForm
oForm = CREATEOBJECT("SwitchForm")
oForm.SHOW()

DEFINE CLASS SwitchForm AS FORM

	ADD OBJECT cmdModal AS COMMANDBUTTON WITH ;
		CAPTION = "Modal", ;
		HEIGHT = 27, ;
		LEFT = 30, ;
		TOP = 50
		
	ADD OBJECT cmdModeless AS COMMANDBUTTON WITH ;
		CAPTION = "Modeless", ;
		HEIGHT = 27, ;
		LEFT = 30, ;
		TOP = 100

	PROCEDURE cmdModal.CLICK
	THISFORM.HIDE()
	THISFORM.SHOW(1)
	THISFORM.SHOW(2)

	PROCEDURE cmdModeless.CLICK
	THISFORM.HIDE()

ENDDEFINE

Comments

Add a comment

More entries from this member

  1. How do I translate the HEX encrypted text which I see in some UT messages? April 7, 2000
    This will translate the HEX encrypted text. It is a little wrapper around George Tasker class for automatic translation back and forth and placing the translated text to the Clipboard. You can explicitly pass your text as a parameter, or the program automatically picks the clipboard content.

  2. How to add custom properties to SCATTER NAME-like object for use with GATHER NAME command May 29, 2002
    Instead of trying to add properties with some third-party tools like ADDPROP5.FLL to the native object created with SCATTER NAME command you may try to approach this problem from the other side. You can replace the native SCATTER command with your own function MYSCATTER which may work on any area and create the object from one of standard VFP classes and use its native .AddProperty method.

  3. How to ensure that changing the checkbox.Value type does not break your code April 5, 2000
    Checkboxes supports both Numeric and Logical data types. When you check its value, do not just write IF thisform.mycheckbox.Value = 1 or IF thisform.mycheckbox.Value = .t. Check it as IF !EMPTY(thisform.mycheckbox.Value) This way you don't care what the type of value really is and the code will not bomb if you occasionally changed the value type in the Property sheet.

  4. How to find if the client's birthday is between the given dates June 26, 2000
    Say, you have the client birth date and you want your program to tell you if the birthday is within the certain date range (even when the given range starts in one year and finishes in another). SELECT * FROM CLIENTS ; WHERE BETWEEN(GOMONTH(birth_date,(YEAR(start_date)- YEAR(birth_date))*12), start_date, end_date ) ; OR BETWEEN(GOMONTH(birth_date,(YEAR(end_date)- YEAR(birth_date))*12), start_date, end_date)

  5. What are the alternatives if I am getting Invalid Expression error for Dynamic... grid property July 17, 2000
    If you get an error "Expression is invalid. Use a valid expression for DYNAMIC... property" you may try different type of addressing your PEMs: For example, in Grid.Init() this syntax does not work this.SETALL('DynamicBackColor', 'IIF(ASCAN(This.Parent.aRecNosSelected,RECNO()) > 0, RGB(255,0,0), RGB(255,255,255))' ,"Column") and this works: this.SETALL('DynamicBackColor', 'IIF(ASCAN(thisform.Grid1.aRecNosSelected,RECNO()) > 0, RGB(255,0,0), RGB(255,255,255))' ,"Column")

  6. Where can I find the International Calling Codes? August 19, 1999
    http://www.the-acr.com/codes/cntrycd.htm

  7. Why my DynamicColor Property doesn't work and there is no error message? January 17, 1998
    This works: this.column1.DynamicForeColor = "IIF(some_type = 2, RGB(255,0,0), RGB(0,0,0))" And this does not work: this.column1.DynamicForeColor = "IIF(some_type = 2, RGB(255,0,0), RGB(0,0,0)) " Reason: one extra space before closing quotes.

Copyright © 1993 - 2014 Level Extreme Inc., All Rights Reserved · Telephone: 506-783-9007 Email: info@universalthread.com · Privacy & Security · Copyright · Terms & Conditions