How to Add Buttons to a Modeless CPropertySheetLast reviewed: October 10, 1997Article ID: Q140586 |
|
4.00
WINDOWS NT
kbprg kbhowto kbcode
The information in this article applies to:
SUMMARYBy default, a modeless CPropertySheet doesn't have any buttons. To add buttons, derive a class from CPropertySheet and override OnInitDialog(). In OnInitDialog(), you'll have to resize the CPropertySheet and add your buttons. You can also add additional buttons to a modal CPropertySheet using this method.
MORE INFORMATION
Sample Code
// This code shows how to resize a modeless CPropertySheet to add a button. // CMySheet is derived from CPropertySheetBEGIN_MESSAGE_MAP(CMySheet, CPropertySheet) //{{AFX_MSG_MAP(CMySheet)
//}}AFX_MSG_MAP
ON_COMMAND(IDC_MYBUTTON, OnMyButton)
END_MESSAGE_MAP()
BOOL CMySheet::OnInitDialog() { CPropertySheet::OnInitDialog();
RECT rc;
GetWindowRect (&rc);
// Increase the height of the CPropertySheet by 30
rc.bottom += 30;
// Resize the CPropertySheet
MoveWindow (rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top);
// Convert to client coordinates
ScreenToClient (&rc);
// m_Button is of type CButton and is a member of CMySheet
m_Button.Create ("&MyButton", WS_CHILD | WS_VISIBLE | WS_TABSTOP,
CRect (5, rc.bottom-30, 80, rc.bottom-5),
this, IDC_MYBUTTON);
return TRUE;
}
// Handler for button click of IDC_MYBUTTON
void CMySheet::OnMyButton ()
{
AfxMessageBox ("MyButton was clicked!");
}
|
Additional reference words: kbinf 4.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |