मैं एमएफसी संवाद ओके बटन कैसे अक्षम करूं? [help] [संपादित करें] मुझे यकीन नहीं है कि ऐसा क्यों नहीं कर पाएगा । अगर मैं एक नियमित सीडीआलाओग लेता हूं और इस तरह एक init करता हूं: यह बटन ठीक से अक्षम करता है। शायद कुछ और गलत है?
यह कोड:
CWnd * fieldOK = pDlg - & gt; GetDlgItem (IDOK);
फ़ील्ड ओके-> सक्षमवंडो (FALSE); अपवाद का कारण बनता है " एक्सेस उल्लंघन पढ़ने के स्थान ... " लाइन ASSERT (:: IsWindow (m_hWnd) || (m_pCtrlSite! = NULL)); फ़ंक्शन का
CWnd :: EnableWindow (BOOL bEnable) में
winnocc.cpp से
mfc90d.dll
इस समय ध्यान दूसरे नियंत्रण पर है।
क्या गलत हो सकता है?
bool CSCalcNormCell :: OnSelectionChanged (CWnd * pDlg, int प्रकार, int पृष्ठ, UINT ctrl_id) {DDX_DataBox (pDX.get (), IDC_WORKSHOP_COMBO, ws_code); यदि (! CInfactoryPriceAdapter :: CanEditPricesForWorkshop (ws_code)) {CWnd * fieldOK = pDlg- & gt; GetDlgItem (IDOK); fieldOK- & gt; EnableWindow (FALSE); } अन्य {सीडब्ल्यूएनडी * फील्ड ओके = पीडीएलजी- & gt; GetDlgItem (आईडीओके); fieldOK- & gt; EnableWindow (TRUE); }}
BOOL CMyDialog :: OnInitDialog () {CDialog :: OnInitDialog (); सीडब्ल्यूएनडी * ओकबटन = गेट डेलगइटम (आईडीओके); If (okbtn) {okbtn- & gt; सक्रियवंडो (FALSE); } वापसी TRUE; }
No comments:
Post a Comment