請教下各位大俠: 我用VS2010編寫了一個基于單文檔多視圖的程序框架,其中的一個視圖類為CFormVIew類,我在這個視圖上加了一個圖像控件(IDC_PIC),我在CFormView類的Create函數(shù)中,想要獲得圖像控件的DC,在Create函數(shù)中加了這么一句: CDC* m_picDC=GetDlgItem(IDC_PIC)->GetDC(); 程序編譯無錯,不能運(yùn)行!但是我在其它視圖中,首先獲取CFormView的指針,然后獲取該控件的DC, pTestView1->GetDlgItem(IDC_PIC)->GetDC(); // pTestView1為CFormView的指針 程序可以正確的運(yùn)行!哪位能幫忙分析下原因,這個跟Create函數(shù)有什么關(guān)系呢? |
#1 得分:20 回復(fù)于: 2015-04-20 21:08:46 這個是順序問題,因?yàn)樵谡{(diào)用Create函數(shù)的時候,這個控件還沒有存在,當(dāng)然出錯了。 你把CDC* m_picDC=GetDlgItem(IDC_PIC)->GetDC();放到OnInitialUpdate()里就可以了。 |