void IPropertyPage.Deactivate() { if (PropertyPagePanel != null) { PropertyPagePanel.Dispose(); PropertyPagePanel = null; } _active = false; }
void IPropertyPage.GetPageInfo(PROPPAGEINFO[] pPageInfo) { if (pPageInfo == null) throw new ArgumentNullException("pPageInfo"); if (PropertyPagePanel == null) PropertyPagePanel = CreatePropertyPagePanel(); PROPPAGEINFO info = new PROPPAGEINFO() { cb = (uint)Marshal.SizeOf(typeof(PROPPAGEINFO)), dwHelpContext = 0, pszDocString = null, pszHelpFile = null, pszTitle = PageName, SIZE = { cx = PropertyPagePanel.Width, cy = PropertyPagePanel.Height } }; pPageInfo[0] = info; }
void IPropertyPage.Activate(IntPtr hWndParent, RECT[] pRect, int bModal) { // create the panel control if (PropertyPagePanel == null) PropertyPagePanel = CreatePropertyPagePanel(); // we need to create the control so the handle is valid PropertyPagePanel.CreateControl(); // set our parent NativeMethods.SetParent(PropertyPagePanel.Handle, hWndParent); // set our initial size ResizeContents(pRect[0]); _active = true; _initializing = true; BindProperties(); _initializing = false; IsDirty = false; }