1. Remove the Apply Now button m_psh.dwflags | = psh_noApplyNow; 2. Control OK, Cancel, Appliy Now, the Help button is simple, their IDs are IDOK, IDCANCANCEL, ID_APPLY_NOW, IDHELP 3. All controls on the property page Mapped to a member variable on a value, so that the value of the control can be obtained when the control is initialized, it can get the value of the control when the property dialog is closed but yet.
4. Pass messages from a PAGE to other Page This Page Call QuerySiblings ((WPARAM) sth1, (lparam) sth2);
Was then added to the event handler in PSM_QUERYSIBLINGS Page would like to receive and process the message, as follows: afx_msg BOOL OnQuerySiblings (WPARAM wParam, LPARAM lParam); ON_MESSAGE (PSM_QUERYSIBLINGS, OnQuerySiblings) BOOL COnePage :: OnQuerySiblings (WPARAM wParam, LPARAM lParam If the function returns a non-zero value, the message delivery stops 5. Setting three methods for setting the PropertyPage title (1) When you create a string resource IDM_PPAGE1 = New CMYPROPAGE (IDS_MYCAPTION); (2) Modify CPROPERTYPAGE .m_pspm_ppage1-> m_psp.dwflags | = psp_usetitle; m_ppage1-> m_psp.psztitle = _t ("my caption"); Note: This modification can only be performed before the CpropertySheet Create and Domodal; if it is read from the file The string is set, it is best to put this string in a static character array, such as static char startle [32]; m_ppage1-> m_psp.psztitle = startle; (3) ctabctrl :: setItem () ctabctrl * PTAB = GetTabControl (); tc_item Ti; Ti.Mask = TCIF_Text; Ti.psztext = psztext; ptab-> setItem (NPAGE, & TI); Note: This method can be created after CPROPERTYSHEET