BUG: ClassWizard Does Not Display Messages for VBX Control

Last reviewed: July 17, 1997
Article ID: Q102668
1.00 1.50 WINDOWS kbtool kbbuglist

The information in this article applies to:

  • The ClassWizard included with: Microsoft Visual C++ for Windows, versions 1.0 and 1.5

SYMPTOMS

Even though the object ID of a VBX control is highlighted in Class Wizard, the Messages list box does not show any messages. The VBX control may appear to be installed in App Studio and it may even appear on the control palette when this occurs.

You can demonstrate this with IDC_CIRCLE in the CCircleDialog class in the VBCIRCLE example.

CAUSE

There are two causes of this behavior, as follows:

  • If you do not explicitly install a VBX control using the App Studio Install Controls option, message information is not available to Class Wizard. If you open, in App Studio, a dialog box that contains a VBX control, App Studio marks the VBX as installed and adds the control to the control palette, but event information is not available until you explicitly install the control.
  • If you manually modify the resource file for the VBX control, Class Wizard may not recognize the special format CONTROL statement a VBX requires. When you install a VBX control, it is queried for messaging and name information. The name information is case sensitive. If the case of either of the first two parameters of the CONTROL statement does not match the parameters stored in APSTUDIO.INI that App Studio uses to query the information, Class Wizard does not show information about the events.

With regard to the VBCircle example, the CCircleDialog class encapsulates a dialog box that contains a CIRC3.VBX control. The CONTROL statement in the RC file for CIRC3.VBX does not specify the required information with the correct case. Therefore, you cannot see messages for IDC_CIRCLE even if you correctly install CIRC3.VBX.

RESOLUTION

If Class Wizard does not display messages for a particular VBX control, perform the following four steps:

  1. Choose Install Controls from the App Studio File menu.

  2. If the VBX is not installed, select it on the search path and choose Install.

  3. If the VBX is already installed, select it and choose Remove. Then select it on the search path and choose Install.

  4. Choose Close to save the control installation changes.

To monitor messages for the VBCircle control, edit the VBCIRCLE.RC file with a text editor. Change the CONTROL statement to read as follows:

CONTROL "CIRC3.VBX;CIRC3;",...

Then load the IDD_CIRCLE_DLG dialog box into AppStudio and select File.Save. This will re-set the ClassWizard information and you will then be able to see the notification messages. Note that CIRC3.VBX needs to have been properly installed in ApStudio as listed above.

STATUS

Microsoft has confirmed this to be a problem in App Studio versions 1.0 and 1.5 for Windows. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


Additional reference words: 1.00 1.50 notification message handlers threed
KBCategory: kbtool kbbuglist
KBSubcategory: WizardIss
Keywords : kb16bitonly


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: July 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.