Re: CPropertySheet
"mido1971" <mido1971@discussions.microsoft.com> wrote in message
news:3A31FD92-6004-4F2A-81B0-40A7A34648BF@microsoft.com...
Hi to all,
i am creating a wizar with many page where the wizard is the configuration
of the program, my problem is the cancel button and the close X i used the
function for the ecape key
PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN )
{
if(pMsg->wParam==VK_ESCAPE)
{
return FALSE;
}
}
//...
}
but i dont now how to disable Cancel button in propertysheet or what i
need
to do to get the masseg or notify of the close or end dialog
thaks for help
As Mark has said, you normally shouldn't disable the Cancel button because
doing so prevents the user from being able to escape. Still, in some cases
it is desireable. I do so in my wizard that updates a device's firmware,
and once the update has begun, it would be catastrophic to abort the
firmware update in the middle of it (it might render the device useless):
void CWiz::EnableCancel( BOOL bEnable )
{
// Hack to disable Cancel button, cannot disable with SetWizardButtons()!
// Source:
http://www.differentpla.net/content/2004/01/disabling-the-cancel-button-in-a-wizard
CWnd *pCancel = GetDlgItem(IDCANCEL);
if (pCancel)
pCancel->EnableWindow(bEnable);
// Also disable Close button in system menu
CMenu *pSysMenu = GetSystemMenu(FALSE);
pSysMenu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND | ((bEnable) ? 0 :
MF_GRAYED) );
}
-- David
http://www.dcsoft.com