Microsoft KB Archive/102668

From BetaArchive Wiki

BUG: ClassWizard Does Not Display Messages for VBX Control

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
Issue type :
Technology : kbVCsearch kbAudDeveloper kbClassWizard


Last Reviewed: August 9, 1998
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.