HBITMAP CPicDrawC::LoadPicture(CComboBox* pCombo,CString mFile)
{
int n = pCombo->AddString("nu");
HBITMAP hbmp = (HBITMAP)LoadImage(NULL, mFile, IMAGE_BITMAP, PicSizeX, PicSizeY, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
pCombo->SetItemData(n, (DWORD)hbmp);
return hbmp;}請問大家這段程式可以解說明白ㄇ?有點不是很懂
(1)為什麼加pCombo->AddString("nu");去讀字串un呢?(2)HBITMAP hbmp = (HBITMAP)LoadImage(NULL, mFile, IMAGE_BITMAP, PicSizeX, PicSizeY, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
這段loadImage裡面的參數的位置寫法是制式固定嗎?分別裡面參數代表什麼意義呢?尤其是最後兩個LR(3)以及 pCombo->SetItemData(n, (DWORD)hbmp);
return hbmp;
這兩句?return回傳什麼呢?
迷途小书童可以跟我聯絡ㄇ?
{
int n = pCombo->AddString("nu");
HBITMAP hbmp = (HBITMAP)LoadImage(NULL, mFile, IMAGE_BITMAP, PicSizeX, PicSizeY, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
pCombo->SetItemData(n, (DWORD)hbmp);
return hbmp;}請問大家這段程式可以解說明白ㄇ?有點不是很懂
(1)為什麼加pCombo->AddString("nu");去讀字串un呢?(2)HBITMAP hbmp = (HBITMAP)LoadImage(NULL, mFile, IMAGE_BITMAP, PicSizeX, PicSizeY, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
這段loadImage裡面的參數的位置寫法是制式固定嗎?分別裡面參數代表什麼意義呢?尤其是最後兩個LR(3)以及 pCombo->SetItemData(n, (DWORD)hbmp);
return hbmp;
這兩句?return回傳什麼呢?
迷途小书童可以跟我聯絡ㄇ?
解决方案 »
- 继承CDialog ,调用 CDialog::DoModal();出错··
- MFC中四个类的作用分别是?
- 请问有没有提供查阅windows API 函数的软件?
- 400分高手指点: 如何把所有对话框转到view中显示,如同诺盾界面?
- 请各路英雄指教歌曲播放问题
- 请问 Msdn Library 中文版哪里有下载
- 开始学习vc了,先给各位100分,以后请多多关照了!!!!!!!!!!!!!!!!!
- 怎么强制窗体刷新?
- 不懂得怎样在CHAR*,char*类型之间的转换,下面我写的代码中就遇到了这问题
- 保存文件的问题!
- 问个动态链接库的调用问题
- 我有一个opengl写的3维视图类,怎样在CStatic控件上使用?
2.从mFile指定的文件中读取图片,具体请查看MSDN;
3.将读取图片的句柄赋值给1中所添加的项,保存以备它用;
最后的return hbmp返回位图的句柄,其实这个句柄也可以从ComboBox里面再取出来,只是再取出来的时候,有需要获取序号,就直接传回句柄了。
如果把这个函数返回值改成返回索引号的话,所不定也很简单。
可是我是初學對於(1)(3)的部分還不是很清楚耶,不好意思
(1)在CComboBox中添加一项“nu”,并且返回序号;為什麼要在CComboBox中添加一项“nu"呢?回傳的
序号?
(2)将读取图片的句柄赋值给1中所添加的项:句柄赋值??不懂,給1是給誰??不好意思問的很沒深度,我真很想徹底了解
麻煩你了
Sets the 32-bit value associated with the specified item in a combo box.
NULL, mFile, IMAGE_BITMAP, PicSizeX, PicSizeY, LR_LOADFROMFILE | LR_CREATEDIBSECTION
第一个参数表示你要加载的那个图片资源在哪个模块中,一般是AfxGetInstanceHandle,表示图片资源就在本程序中。这里你需要从其它文件中加载,它不属于任何进程或模块,所以是NULL;
第二个参数:如果最后一个参数不包含LR_LOADFROMFILE,那么这个参数是资源ID例如IDB_BITMAP1等,又因为本参数需要一个字符串,所以用MAKEINTRESOURCE把它强制转换成一个字符串指针,但并不影响使用;如果最后一个参数包含LR_LOADFROMFILE,那么这个参数表示你要加载的图片文件的路径;
第三四个参数表示你希望这个图片加载进来后的宽度和高度(如果指定数值比实际尺寸小,图片可能会被裁剪???);
最后一个参数中LR_LOADFROMFILE表示从文件加载图片而不是从模块的资源中,LR_CREATEDIBSECTION表示加载图片时不要受当前显示设备的影响(???)3.ComboBox下拉列表里的每一项,都可以记录一个4字节的数据(ItemData),这个数据由用户自定义使用。例如第二项是个文件夹的名称,这个文件夹下面有5个文件,那么可以SetItemData(1,5)记住这个信息,以后可以用GetItemData获得,这个ItemData作任何用途都可以。建议楼主在遇到问题后,做的第一件事就是去查阅MSDN,那上面有比我更详细准确的解释