我有一个带按钮的窗口,我希望将按钮固定在窗口重新调整大小的一个角落,但不知何故,当我尝试检索按钮的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项目。
答案 0 :(得分:1)
很可能CButton
尚未创建/子类化。你检查过m_hWnd会员了吗?还是nullptr
。
访问前请先查看GetSafeHwnd() != nullptr
。