I had the same problem using a CMFCPropertyGridCtrl in a CPropertyPage with VS2012 (without Touch Screen). Using the resouce in a CDialog is no problem, but when used in a CpropertyPage,the page calls OnDestroy as soon as it should be initialized. The Solution was, dont include the CMFCPropertyGridCtrl aus a resource control and dynamically create it after the InitDialog of the CProperyPage is called. CMFCPropertyGridCtrl * pctrlPropertyGrid = new CMFCPropertyGridCtrl(); if (pctrlPropertyGrid) { CRect rect; GetWindowRect(&rect); ScreenToClient(&rect); rect.DeflateRect(5, 10, 5, 10); pctrlPropertyGrid->Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, rect, this, IDC_MFCPROPERTYGRID1); ... }