PRB: Apply Button on Custom OCX Property Page Always Disabled

Last reviewed: March 21, 1997
Article ID: Q161237
The information in this article applies to:
  • Microsoft Visual Basic Control Creation and Enterprise Editions, for Windows, version 5.0

SYMPTOMS

When changing properties of a custom ActiveX control via a custom property page, the Apply button is never enabled.

CAUSE

The Changed property is not being set from the property page code.

RESOLUTION

In the property page code, add the line:

     Changed = True

to all code that changes UserControl properties.

STATUS

This behavior is by design.

MORE INFORMATION

The Visual Basic IDE or run-time system controls the state of the Apply Button on your custom property pages. In order to tell Visual Basic that the user has edited one or more properties on a property page, you must set the PropertyPage object's Changed property to True. Because there is no way to know which property a user might decide to change, you must do this for every property displayed on the page.

The following code snippet illustrates using the Changed property in property page code:

      Private Sub ControlCaption_Changed()
        Changed = True
      End Sub

      Private Sub ApplyChanges()
      Dim X As Variant
        For Each X In SelectedControls
          X.Caption = ControlCaption.Text
        Next X
      End Sub

This process can be simplified by using the Property Page Wizard from the Visual Basic Add-Ins menu.

REFERENCES

Microsoft Visual Basic Online Help, Changed Property. Microsoft Visual Basic User's Guide, Chapter 10, Creating Property Pages for ActiveX Controls, Enabling the Applied Button by Setting Changed = True.


Keywords : kbtool vb5all VBKBAX VBKBProgramming kbprb
Technology : kbole
Version : 5.0
Platform : WINDOWS
Issue type : kbprb


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.

Last reviewed: March 21, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.