我动态创建了一个图片控件,
m_myPicture->Create(NULL,WS_CHILD | WS_VISIBLE ,CRect(40,40,500,500),this,IDS_MYPICTURE); //m_myPicture是一个CStatic控件的指针Create的Styles到底是什么格式的才能显示我要打开的图片,图片可以是任何格式的
m_myPicture->Create(NULL,WS_CHILD | WS_VISIBLE ,CRect(40,40,500,500),this,IDS_MYPICTURE); //m_myPicture是一个CStatic控件的指针Create的Styles到底是什么格式的才能显示我要打开的图片,图片可以是任何格式的
{
CLocation1Doc *pDoc=GetDocument(); //获取文档类指针 pDoc->m_Cimage.mSetImg(pDoc->tempImage); int width,height; //图片的宽和高
width=pDoc->tempImage->width;
height=pDoc->tempImage->height; CRect rect;
m_myPicture->GetWindowRect(&rect); //获得窗口坐标
ScreenToClient(&rect); //将屏幕坐标转化为用户坐标
m_myPicture->MoveWindow(rect.left,rect.top,width,height,true); //调整控件的大小
CDC* pDC=m_myPicture->GetWindowDC();
rect.left=0;
rect.right=0;
pDoc->m_Cimage.DrawToHDC(pDC->GetSafeHdc(),rect);
}
如果是自绘的话,请设置自绘风格modifystyle(0,SS_OWNERDRAW);
然后在wm_drawitem里进行贴图
如果不是自绘,那么设置风格:
SS_BITMAP
并且setbitmap
SetBitmap里边传递的参数呢
HBITMAP SetBitmap(HBITMAP hBitmap)
不用 SS_BITMAP也可以;
我的程序开始是想在图片中做一个mousemove消息响应,所以我必须在CStatic或CWnd基础上派生一个我自己的类,用来显示我的图片,然而开始的时候我的ShowPicture是在view类里做的,所以不行,显示函数应该坐在我自己派生的类里,不过任然感谢你们尤其是bsnry
我还没有毕业,在公司实习,所以不要嘲笑我
谢谢那些真心想帮助想我一样还是个菜鸟的人
发代码, ss_bitmap风格是必须的, 不可能没有这个就可以显示位图的