I am working on an MS Office Addin developed in ATL COM. There is an option dialog which has a tab control inside having Property Sheets like this
These property sheets are invoked using DoModalCode:class COptions_Buffers : public WTL::CPropertyPage<IDD_OPTIONS_BUFFERS> { .......................................... .......................................... }
The main parent window has got an Apply button which is by default disabled and I want to enable it when the user clicks on any of the radio button inside its child property page. How can I do that??Code:COptionsBox::COptionsBox(const HINSTANCE & hResourceInstance, DWORD * pUpdateCommand, const DWORD dwMask): m_hResourceInstance(hResourceInstance) { //WTL::CPropertySheet sheet( CUtils::GetResourceString( IDS_GUI_OPTIONS_OPTIONS ).c_str() ); COptionsSheet sheet( CUtils::GetResourceString_( IDS_GUI_OPTIONS_OPTIONS ).c_str() ); sheet.m_psh.dwFlags &= ~PSH_HASHELP; HICON hIcon = LoadIcon(m_hResourceInstance, MAKEINTRESOURCE(IDI_ICON1)); sheet.m_psh.hIcon = hIcon; sheet.m_psh.dwFlags |= PSH_USEHICON; //COptions_CriticalChain page8; COptions_Buffers page1; //COptions_Statusing page10; COptions_Update page9; COptions_UnDo page6; COptions_Trend page5; COptions_CCPMView page2; COptions_Colors page3; COptions_Toolbar page4(pUpdateCommand); //COptions_Fields page11; if(dwMask & 1) //general { throw EXCEPTION_IMPLEMENTATION; //sheet.AddPage(page8); } if(dwMask & 2) //buffers { sheet.AddPage(page1); } /*if(dwMask & 4) { sheet.AddPage(page10); }*/ if(dwMask & 8) { sheet.AddPage(page9); } if(dwMask & 16) { sheet.AddPage(page6); } if(dwMask & 32) { sheet.AddPage(page5); } if(dwMask & 64) //view { sheet.AddPage(page2); } if(dwMask & 128) { sheet.AddPage(page3); } if(dwMask & 256) { sheet.AddPage(page4); } if(dwMask & 512) { throw EXCEPTION_IMPLEMENTATION; //sheet.AddPage(page11); } sheet.DoModal(); }
Thanks in Advance


Reply With Quote

Bookmarks