0

我有一个带有按钮的窗口,我想在窗口重新调整大小时将按钮锚定在一个角落,但是当我尝试检索按钮时rectdebug assertion error会抛出 a 。

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是在 中声明的 CButton 项.h

4

1 回答 1

1

很可能CButton尚未创建/子类化。你检查过 m_hWnd 成员吗?还是nullptrGetSafeHwnd() != nullptr在访问它之前检查。

于 2012-08-02T13:49:28.777 回答