home *** CD-ROM | disk | FTP | other *** search
- Summary:
-
- SUBVBX is a sample appliction that does Windows subclassing on a VBX
- control using MFC 2.0. The sample subclasses the grid control and
- overrides the OnDlgCode() message handler and returns the
- DLGS_WANTARROWS code. Normally Windows uses the arrow keys to move
- between controls in a dialog box and does not pass the arrow keys to the
- control. Subclassing the grid control and overriding the OnDlgCode()
- message handler causes windows to pass the arrow keys to the grid
- control so that it can use the keys to between cells in the control.
-
- More Information:
-
- Windows controls, such as an edit control or a listbox control, can be
- subclassed in MFC using the CWnd::SubclassWindow() and
- CWnd::SubclassDlgItem() functions. These functions do not work for VBX
- controls. These functions rely on the fact that each window control has
- its own windows procedure. This way it is possible for an MFC object
- to chain to controls original Windows procedure. However, VB controls
- under MFC 2.0 are managed by MFC objects. So, VB controls use the same
- windows procedure as all other MFC objects.
-
- In order to subclass a VB control in MFC 2.0 it is necessary to copy the
- data from the original control object into the object that you want to
- use to subclass the original control. After the original object has
- been copied, it can be detached and deleted, and the new control object
- can be attached.
-
- This sample defines the CVBClone class that contains the function
- SubclassVBControl(). This function does the copying, attaching and
- detaching that is described above. To use this class, derive a new
- class from the CVBClone class and new message handling functions to the
- message map. This class can then be used to subclass a VB control in a
- dialog box by calling the SubclassVBControl() function in the
- OnInitDialog() or OnInitialUpdate() function of the dialog box or form
- view that contains the control.
-
- This sample subclasses a grid control in a form view. It defines the
- CMyGrid class from CVBControl which it uses to subclass the control. It
- also calls SubclassVBControl in the OnInitialUpdate() of the form view
- to subclass the control in the form view.
-
-
-