0

ボタン付きのウィンドウがあり、ウィンドウのサイズ変更時にボタンを一隅に固定したいのですが、どういうわけかボタンの を取得しようとするとrectadebug 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で宣言された CButton アイテム.hです。

4

1 に答える 1

1

ほとんどの場合、CButtonはまだ作成/サブクラス化されていません。m_hWndメンバーを確認しましたか?まだですかnullptrGetSafeHwnd() != nullptrアクセスする前に確認してください。

于 2012-08-02T13:49:28.777 に答える