怎么通过子类对话框中的CHECKBOX 改变父类对话框的按键状态

如何通过子类对话框中的CHECKBOX 改变父类对话框的按键状态
如题,我想在tab control中的子类对话框中点击一个CHECKBOX 控件后隐藏上级对话框的一个按键。我的tab 对话框只占上级对话框的一半位置,下半部是公用的区域,中间需要用到这个功能。
class CPSetDlg : public CDialogEx           //这是父类对话框的.H文件
{
      ......
// 构造
public:
CPSetDlg(CWnd* pParent = NULL); // 标准构造函数
         
         CPagePinSet PagePinSet;    
   ......
    ......

public:

CButton CBnNew;

};


void CPagePinSet::OnBnClickedIFnew()       //这是子类对话框中的CHECKBOX响应函数。
{

bl_SetEn =! bl_SetEn;
if(bl_SetEn)
{
CBnNew.ShowWindow(true);          //我这里该如何改写呢
}
else
{
    CBnNew.ShowWindow(false);
}
}

//对VC了解不是多深入,只是需要做些小工具时才翻书写一些代码。请大家不要笑话,谢谢


------解决思路----------------------

GetParent()->CBnNew.ShowWindow(true); 
或者:
GetParent()->GetDialogItem(IDC_NBNEW)->ShowWindow(true); 
------解决思路----------------------
class CPagePinSet
{
  CButton *pBnSetChk; //改为指针

在 PagePinSet Create 或 DoModal 之前 pBnSetChk = &CBnNew;

void CPagePinSet::OnBnClickedIFnew()       //这是子类对话框中的CHECKBOX响应函数。
{
bl_SetEn =! bl_SetEn;
if(pBnSetChk && pBnSetChk->m_hWnd)
{
  pBnSetChk->ShowWindow(bl_SetEn? SW_SHOW:SW_HIDE);
}
}