現有一MFC工程,其中有100個圖片空間,設定變數名為m_l1到m_l100。
有一串資料如
{
0,0,0,0,13,0,56,73,0......
}
0表示不做任何處理,數字表示在第多少號控制元件顯示圖片,如13表示m_l13控制元件顯示圖片,目前打算用一下代碼實作
{
CBitmap bm;
HBITMAP hB;
bitmap.LoadBitmapW(IDB_RED);
hB = (HBITMAP)bitmap.GetSafeHandle();
m_lnumber.SetBitmap(hB);
}
請教大神如何把資料中的數字和和控制元件變數名關聯起來,最好有代碼示例,謝謝!
uj5u.com熱心網友回復:
把你這些控制元件ID設定成連續不就好處理了,GetDlgItem(IDC_PICTURE_BASE + INDEX)的方式得到控制元件,其中IDC_PICUTRE_BASE為常量,INDEX為索引變數~
uj5u.com熱心網友回復:
假如我給100個圖片控制元件的ID設定為IDC_PICTURE1到IDC_PICTURE100,那么我通過GetDlgItem(IDC_PICTUREnumber)的方式獲取到圖片控制元件的句柄后,如何讓這個控制元件顯示位圖。
新手只會通過給控制元件添加變數然后設定顯示圖片的方法。請見諒,是否可以以下方法
{
CBitmap bm;
HBITMAP hB;
bitmap.LoadBitmapW(IDB_RED);
hB = (HBITMAP)bitmap.GetSafeHandle();
m_picture=GetDlgItem(IDC_PICTUREnumber);
m_picture.SetBitmap(hB);
}
現在沒辦法開程式試驗,謝謝!如果不對,請大神給個參考代碼
uj5u.com熱心網友回復:
另外請問如何將控制元件ID設定成連續,我直接設定IDC_PICTURE1到IDC_PICTURE100,索引變數為i,好像用GetDlgItem(IDC_PICTURE+i)并不能找到控制元件。
uj5u.com熱心網友回復:
GetDlgItem的引數只是需要你的一個數字ID你看下你的IDC_PICTURE在Resource.h中是多少,假如是2001
那么你定義的其他ID,在Resource.h中必須是2002-2102
這樣GetDlgItem(IDC_PICTURE+i)就能找到了
你單不除錯下,看下你的IDC_PICTURE+i這個數字在Resource.h中有沒有,有的話肯定能找到
uj5u.com熱心網友回復:
自己手動添加就行了,控制元件型別一樣就建議使用陣列轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/139794.html
標籤:基礎類
上一篇:關于C/S程式的互聯網部署問題
