我Creare出来一个属性表就没有像Domodal的那样有OK,Cancel等按钮,我现在想为无模式的添加按钮,
我已经添加如下代码了..
CButton Bt;Bt.Create(_T("OK"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
   CRect(10,10,100,30), pParentWnd, IDC_BUTTON1)添加消息
//.h
// Generated message map functions
//{{AFX_MSG(DlgClassName)
afx_msg void OnButton1();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()//.cpp
BEGIN_MESSAGE_MAP(DlgClassName, CDialog)
//{{AFX_MSG_MAP(DlgClassName)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()DlgClassName::OnButton1()
{
}但是有问题.这样产生的代码当点击的时候什么反应也没有,就像是静态的图片一样.请问怎么样改.或是有别的方法给属性页添加按钮.....谢谢了.......请不吝赐教..*_*

解决方案 »

  1.   

    int CSheetBitmap::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
    if (CPropertySheet::OnCreate(lpCreateStruct) == -1)
    return -1;

    // TODO: Add your specialized creation code here button_ok.Create(_T("OK"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
        CRect(10,200,100,230),this, 1000);
    button_cancel.Create(_T("Cancel"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
    CRect(150,200,240,230),this, 1001);



    return 0;
    }是这样的....CSheetBitmap是从CSheet类派生的...我在头文件里   CButton button_ok;
             CButton button_cancel;
    //{{AFX_MSG(CSheetBitmap)
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    afx_msg void OnButtonok();
    afx_msg void OnButtoncancel();
    //}}AFX_MSG
    在.cpp文件里...BEGIN_MESSAGE_MAP(CSheetBitmap, CPropertySheet)
    //{{AFX_MSG_MAP(CSheetBitmap)
    ON_WM_CREATE()
    ON_BN_CLICKED(1000, OnButtonok)
    ON_BN_CLICKED(1001,OnButtoncancel)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()请高手指点....
      

  2.   

    在CSheetBitmap的oninitdialog中添加代码!
      

  3.   

    我今天也碰到了这个问题,在csdn里面没有找到满意的答案,在baidu里面倒是发现了,大家共享:
    BOOL CMySheet::OnInitDialog() 
    {
    BOOL bResult = CPropertySheet::OnInitDialog();

    // TODO: Add your specialized code here
    RECT rc; // 调整属性页对话框的大小 
    GetWindowRect (&rc); rc.bottom += 30; //窗口向下拉30点,让OK按扭可以显示出来 
    MoveWindow (&rc); //调整窗口 
    GetDlgItem(IDOK)->ShowWindow(SW_SHOW); //显示隐藏的OK按钮 
    GetDlgItem(IDOK)->EnableWindow(); //激活OK按钮 
    GetDlgItem(IDCANCEL)->ShowWindow(SW_SHOW); //显示隐藏的Cancel按钮 
    GetDlgItem(IDCANCEL)->EnableWindow(); //激活Cancel按钮  return bResult;
    }
    BOOL CMySheet::OnCommand(WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if (HIWORD (wParam) == BN_CLICKED) 

    switch (LOWORD (wParam)) 

    case IDOK: 
    PressButton (PSBTN_OK); 
    DestroyWindow (); 
    return TRUE; 
    case IDCANCEL: 
    PressButton (PSBTN_CANCEL); 
    DestroyWindow (); 
    return TRUE; 

    } return CPropertySheet::OnCommand(wParam, lParam);
    }