求求各位老大,我这里遇到很奇怪的问题,周一就要交期末作业了。希望不要在界面上导致全盘失败我打算完成一个智能项目,猴子寻找最短路径找到香蕉。界面上会有一个类似于棋盘的网格,每个网格中将显示一个位图,比如猴子或者香蕉,箱子什么的。现在我使用listbox来表示这个网格,但是却无法插入位图,非常奇怪。代码如下:
//初始化棋盘大小
width = 10;
height = 10;
//插入列和行
for(int i = 0;i < width;i++)
m_CtlGrid.InsertColumn(i,"");
for(int j = 0;j < height;j++)
m_CtlGrid.InsertItem(j,"",0); //生成图像列表
CImageList m_ImgLst;
m_ImgLst.Create(100,100,ILC_COLOR,0,width*height);//
int n; //调试用的临时变量
CBitmap mask;
int m = mask.LoadBitmap(IDB_BLANK);//位图,大小15*15
for(int k = 0;k < width*height;k++)
{
m_ImgLst.Add(&mask,RGB(255, 0, 255));
n = m_ImgLst.GetImageCount();//调试发现,这里n总是为0 }
m_CtlGrid.SetImageList(&m_ImgLst,LVSIL_SMALL); 我想,这可能是位图加入m_ImgLst时的错误。但是怎么都改不正确。还请各位老大援手,否则我们这一组的这门课全部都要挂了。另:如果哪位老大能够帮忙做一个网格显示位图(图标)的demo,或者提供相应资源或者控件,另加100分酬谢!!!多谢了!!
//初始化棋盘大小
width = 10;
height = 10;
//插入列和行
for(int i = 0;i < width;i++)
m_CtlGrid.InsertColumn(i,"");
for(int j = 0;j < height;j++)
m_CtlGrid.InsertItem(j,"",0); //生成图像列表
CImageList m_ImgLst;
m_ImgLst.Create(100,100,ILC_COLOR,0,width*height);//
int n; //调试用的临时变量
CBitmap mask;
int m = mask.LoadBitmap(IDB_BLANK);//位图,大小15*15
for(int k = 0;k < width*height;k++)
{
m_ImgLst.Add(&mask,RGB(255, 0, 255));
n = m_ImgLst.GetImageCount();//调试发现,这里n总是为0 }
m_CtlGrid.SetImageList(&m_ImgLst,LVSIL_SMALL); 我想,这可能是位图加入m_ImgLst时的错误。但是怎么都改不正确。还请各位老大援手,否则我们这一组的这门课全部都要挂了。另:如果哪位老大能够帮忙做一个网格显示位图(图标)的demo,或者提供相应资源或者控件,另加100分酬谢!!!多谢了!!
ftp://pub:[email protected]/源代码交换/Path.rar
[代码作者] 邱继前
[文件大小] 2054K
[更新日期] 2002-11-9 19:10:00
[下载次数] 3764
http://www.vckbase.com/code/downcode.asp?id=1678
http://www.codeguru.com/listview/background_image.shtml