Q170597: BUG: Special Effect Does Not Work for Container Control
Article: Q170597
Product(s): Microsoft FoxPro
Version(s): WINDOWS:5.0,5.0a,6.0
Operating System(s):
Keyword(s): kbvfp kbvfp500 kbvfp500a kbvfp600
Last Modified: 11-DEC-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a, 6.0
-------------------------------------------------------------------------------
SYMPTOMS
========
In Visual FoxPro 5.0x, the SpecialEffect property of a Container control does
not refresh to display as 0-flat, 1-sunken, or 2-raised at run time.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article.
MORE INFORMATION
================
When changing the SpecialEffect property of a Container control to 0-flat,
1-sunken, or 2-raised, at run time, the Container does not reflect the change
even after the REFRESH method has been issued. The only way to refresh the
Container control is to click on an object other than the form that contains the
Container object, and then click back on the form. At this point, the Container
is refreshed correctly.
Steps to Reproduce Behavior
---------------------------
1. Create a Form and place a Container control on it.
2. Set the SpecialEffect property of the Container to "2 - Flat(Default)."
3. Change the Name of the Container to TstC1.
4. Add a command button, named CB0, to the form with the following code in the
Click event:
ThisForm.TstC1.SpecialEffect = 0 &&Raised
ThisForm.Refresh
5. Add another command button to the form, CB1, with the following code in Click
event:
ThisForm.TstC1.SpecialEffect = 1 &&Sunken
ThisForm.Refresh
6. Run the Form and click on the command buttons several times.
NOTE: The effect of the Container stays the same and does not change to the
specified setting of SpecialEffect.
Here is the workaround for the above sample:
1. Replace the code in steps 4 and 5 from the above example with the following
code:
Step4:
ThisForm.TstC1.Visible = .F.
ThisForm.TstC1.SpecialEffect = 0 &&Raised
ThisForm.TstC1.Visible = .T.
Step5:
ThisForm.TstC1.Visible = .F.
ThisForm.TstC1.SpecialEffect = 1 &&Sunken
ThisForm.TstC1.Visible = .T.
2. Save and run the form. After clicking the command buttons, the effect of the
Container will now change according to the SpecialEffect property setting.
Additional query words:
======================================================================
Keywords : kbvfp kbvfp500 kbvfp500a kbvfp600
Technology : kbVFPsearch kbAudDeveloper kbVFP500 kbVFP600 kbVFP500a
Version : WINDOWS:5.0,5.0a,6.0
Issue type : kbbug
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.