首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

想让对话框跟着加载图片的大小变化而变化该怎么处理

2013-03-29 
想让对话框跟着加载图片的大小变化而变化该怎么办楼下注意是窗口大小跟着加载图片的大小。。。。我就贴部分代

想让对话框跟着加载图片的大小变化而变化该怎么办
楼下注意是窗口大小跟着加载图片的大小。。。。想让对话框跟着加载图片的大小变化而变化该怎么处理
我就贴部分代码


void Cmfcdemo2Dlg::OnLoadJpeg(int i)
{
CString szfile="C:\\Users\\Administrator\\Pictures";
CString temp;
temp.Format("%d",i);
    szfile+="\"+temp+".jpg"; 
CFile file;
file.Open(szfile,CFile::modeReadWrite);
DWORD dwlen=file.GetLength();
if(m_hMem!=NULL)
{
GlobalFree(m_hMem);
m_hMem=NULL;
}
m_hMem=GlobalAlloc(GMEM_MOVEABLE,dwlen);
LPVOID pData=NULL;
pData=GlobalLock(m_hMem);
file.Read(pData,dwlen);
file.Close();
GlobalUnlock(m_hMem);
CreateStreamOnHGlobal(m_hMem,TRUE,&m_pStream);
OleLoadPicture(m_pStream,dwlen,TRUE,IID_IPicture,(LPVOID*)&m_picture);
m_picture->get_Height(&m_JPEGHeight);
m_picture->get_Width(&m_JPEGWidth);
OnPaint();
}

这是加载图片的代码,已经得到了图片的高和宽,我的想法在此处添加this->onsize()方法,但不知道怎么用求高人指点下。。
解决立马给分结贴~
[解决办法]
跟据窗口的大小重画图片就行了。
[解决办法]
直接调用SetWindowPos试下,参数设置为图片的宽和高。。
[解决办法]
m_picture->get_Height(&m_JPEGHeight);
    m_picture->get_Width(&m_JPEGWidth);
    //OnPaint();
SetWindowPos(NULL,0,0,m_JPEGWidth,m_JPEGHeight,SWP_NOMOVE);
//如果没有显示新图,那就加上 Invalidate();

热点排行