\DOC\WEB\98\02\control.txt How to create a subclass for special control (like stingray grid class) so that you can create an override 1. Create class derived from grid class to catch events xxgridctrl.cpp xxgridctrl.h class xxGridCtrl : public CGXGridWnd //derived from grid class { // Construction public: xxGridCtrl(); 2. Add these lines to the containing dialog file xxdialog.cpp: void xx::DoDataExchange(CDataExchange* pDX) { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CxxPropertyPage) // NOTE: the ClassWizard will add DDX and DDV calls here DDX_Control(pDX, IDC_GRIDXX, m_GridXX); // Create DDX for grid control //}}AFX_DATA_MAP } xxdialog.h: class xxPropertyPage : public CPropertyPage { DECLARE_DYNCREATE(xxPropertyPage) // Construction public: xxPropertyPage(); ~xxPropertyPage(); // Dialog Data //{{AFX_DATA(xxPropertyPage) enum { IDD = IDD_xxxxxx }; xxGridCtrl m_Gridxx; // create data member for grid control // NOTE - ClassWizard will add data members here. // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_DATA 3. On grid control, set the class to GXWND