mfc对话框按钮rect

时间:2012-08-02 13:31:28

标签: mfc dialog

我有一个带按钮的窗口,我希望将按钮固定在窗口重新调整大小的一个角落,但不知何故,当我尝试检索按钮的rect时,会抛出debug assertion error

void CDaf_Alarm_ComplexDlg::OnSize(UINT nType, int cx, int cy)
 {
    CDialog::OnSize(nType, cx, cy);

    CRect winRect;
    GetWindowRect(&winRect);

    CRect buttonRect;
    m_btnAnulare.GetWindowRect(&buttonRect);

    m_btnAnulare.SetWindowPos(NULL,winRect.right - buttonRect.Width(), buttonRect.top, 0, 0, SWP_NOZORDER | SWP_NOMOVE);
}

错误在行m_btnAnulare.GetWindowRect(&buttonRect);处抛出,因为它返回负值(可能是NULL)。

m_btnAnulare是在.h中声明的CButton项目。

1 个答案:

答案 0 :(得分:1)

很可能CButton尚未创建/子类化。你检查过m_hWnd会员了吗?还是nullptr。 访问前请先查看GetSafeHwnd() != nullptr