MFC ダイアログの [OK] ボタンを無効にするにはどうすればよいですか?
このコード:からの関数の行で
例外 "アクセス違反読み取り場所... " が発生します
。この時点では、別のコントロールにフォーカスがあります。
何が間違っている可能性がありますか?
CWnd* fieldOK = pDlg->GetDlgItem(IDOK);
fieldOK->EnableWindow(FALSE);ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));
CWnd::EnableWindow(BOOL bEnable)
winnocc.cpp
mfc90d.dll
手伝ってくれてありがとう。
[編集]
bool CSCalcNormCell::OnSelectionChanged( CWnd* pDlg, int type, int page, UINT ctrl_id )
{
DDX_DataBox(pDX.get(), IDC_WORKSHOP_COMBO, ws_code);
if (!CInfactoryPriceAdapter::CanEditPricesForWorkshop( ws_code ))
{
CWnd* fieldOK = pDlg->GetDlgItem(IDOK);
fieldOK->EnableWindow(FALSE);
}
else
{
CWnd* fieldOK = pDlg->GetDlgItem(IDOK);
fieldOK->EnableWindow(TRUE);
}
}