| How can I make my form Modal/Modeless on the fly. |
|---|
| Summary: | 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()
ENDDEFINEMore entries from this member - 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. - 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.
- 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.
- 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)
- 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")
- Where can I find the International Calling Codes? August 19, 1999
http://www.the-acr.com/codes/cntrycd.htm - 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.
|