| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1316 人关注过本帖
标题:如何将一幅图像作为对话框背景显示。
只看楼主 加入收藏
bob007
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-9-19
收藏
 问题点数:0 回复次数:3 
如何将一幅图像作为对话框背景显示。
如何将一幅图像作为对话框背景显示。
要求图像任何格式都可以。
多谢。
搜索更多相关主题的帖子: 对话框 图像 
2005-09-26 16:03
python
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-9-26
收藏
得分:0 
本人写的,可以打开BMP,JPEG,GIF类型
BOOL ShowImageFromFile(CDC *pDC,UINT nLeft,UINT nTop,UINT nWidth,UINT nHeight,const CString &strFileName)
{
    IStream *pStm;
    CFileStatus fstatus;
    CFile file;
    LONG cb;
    if(    file.Open(strFileName,CFile::modeRead)&&
        file.GetStatus(strFileName,fstatus)&&
        ((cb = (LONG)fstatus.m_size) != -1))
    {
        HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE,cb);
        LPVOID pvData = NULL;
               
        if (hGlobal != NULL)
        {
            if ((pvData = GlobalLock(hGlobal))!= NULL)
            {
                file.Read(pvData,cb);
                GlobalUnlock(hGlobal);
                CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);
                        
                IPicture *pPic;
               if(SUCCEEDED(OleLoadPicture(pStm,(LONG)fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
                {
                    OLE_XSIZE_HIMETRIC hmWidth;
                    OLE_YSIZE_HIMETRIC hmHeight;
                           
                    pPic->get_Width(&hmWidth);
                   pPic->get_Height(&hmHeight);
                           
                    double fX,fY;
                   fX =(double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);
                   fY =(double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);

                  if(FAILED(pPic->Render(pDC->m_hDC,nLeft,nTop,nWidth,nHeight,
                      0,hmHeight,hmWidth,-hmHeight,NULL)))
                       AfxMessageBox("读入图像数据失败!");
                    pPic->Release();
                }
                else
                {
                    AfxMessageBox("加载图像失败!");
                    return FALSE;
                }
            }
        }
        else
        {
            AfxMessageBox("打开图像文件失败!");
            return FALSE;
        }
    }
    return TRUE;
}
2005-09-26 16:16
python
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-9-26
收藏
得分:0 
注意在对话框的OnEraseBkgnd中调用
2005-09-26 16:20
Ellison
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-25
收藏
得分:0 
有些不懂哦~请指教~
请问下。。。那段代码要写在哪里?
再请问下。。用VC的SDI做个记事本,要求可以随时打开电脑上任意的BMP图片做为记事本背景。。请问下那段代码可以实现这个吗?如果可以的话,应该写在哪?如果不可以请大虾指教。。。谢谢! 挺急。。明天就要用了。。找了10个论坛了。。。

一个想学好VC的菜鸟~
2006-06-25 22:07
快速回复:如何将一幅图像作为对话框背景显示。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011477 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved