2012-08-22 21 views
0

獲取資源ID,我把圖片控件來一個對話框,並沒有現在這樣設置 Misc->類型 - >位圖 Misc->圖像 - > 999從對話項目

在對話框的OnInitDialog函數,我抓住了圖片控件的CWnd *,並且想要獲得我分配給控制器或圖像ID(即999)的圖像的句柄。 我該怎麼做?

謝謝你的幫助。

CONTROL 65443,IDC_TRUSS_CTRL, 「靜」,SS_BITMAP,13,13,517,212

更精確地說這個問題,我想65443我有對話框的句柄數量保持這種控制並且我也得到了IDC_TRUSS_CTRL的句柄

我所做的是: 布爾錯誤; dialogWnd-> GetDlgItemInt(controlWnd-> GetDlgCtrlID(),& error,0);

但是誤差爲0,這意味着它遇到一個錯誤:\

+0

請使用更多的大寫和標點符號。這會讓你的問題更具可讀性。 – Andrey

+0

你使用什麼圖片控件? 'CPictureHolder'? – Rost

+0

從工具箱中,我拖放一個圖片控件,在它的屬性窗口中顯示:IPictEditor – Cihan

回答

1

您可以從控制鑄造一個靜態控件而不是調用CWnd獲得的CBitmap指針:

CStatic *pPictureCtrl = (CStatic*)GetDlgItem(PICTURE_CONTROL_ID); //Notice is the control resources ID not the Image resources ID 
CBitmap *pBitmap = pPictureCtrl->GetBitmap(); 

但是這不會是取決於你想要用它做什麼(?)。

+0

我按照你所說的方式來做,但GetBitmap返回null,但是我從編輯器中設置圖像ID,我可以得到它嗎?那麼我會手動加載它 – Cihan

+0

其實現在的問題是,我有一個圖片控件的Cstatic,圖像ID分配給圖片控件通過Misc:Image屬性,現在在OnInitDialog函數中我可以從CStatic獲取這個數字嗎? – Cihan

+0

對不起......我在說話的心...試試這個,而不是隻是GetBitmap:\t CBitmap * pBitmap = CBitmap :: FromHandle(pPictureCtrl-> GetBitmap()); –

相關問題