2872|2

58

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新手求教!wince平台,想在Dialog中画一幅位图,下面的代码出了什么错?图片没有显示 [复制链接]

下面的代码不能显示出位图,到底哪里出错了呢?
        CDialog::OnInitDialog();       
        LPCTSTR szFileName = _T("b.bmp");
        HBITMAP hbmp1 = SHLoadDIBitmap(szFileName);
        if( hbmp1 == NULL )
        {
                MessageBox(_T("Import Picture1 Failed!"),_T("Hint"),MB_OK);
                return FALSE;
        }

        // Create a DC that matches the device.
        CDC* cdc = this->GetDC();
        HDC hdc = cdc->GetSafeHdc();
        HDC hdcMem = CreateCompatibleDC (hdc);
        if( cdc == NULL )
        {
                MessageBox(_T("cdc is null!"),_T("Hint"),MB_OK);
                return FALSE;
        }

        // Get the bitmap dimensions from the bitmap.
        BITMAP bmp;
        GetObject (hbmp1, sizeof (BITMAP), &bmp);
       
        // Select the bitmap into the compatible device context.       
        HBITMAP bitmap = CreateBitmap( bmp.bmWidth, bmp.bmHeight, bmp.bmPlanes,bmp.bmBitsPixel,NULL);

        HBITMAP hOldSel;
        hOldSel = (HBITMAP)(SelectObject (hdcMem, hbmp1));

        HBITMAP hOldSel2;
        hOldSel2 = (HBITMAP)(SelectObject(hdc, bitmap));
  
        // Copy the bitmap image from the memory DC to the screen DC.
        CRect rect;
        GetClientRect(&rect);
        BitBlt (hdc, rect.left, rect.top, bmp.bmWidth,bmp.bmHeight,
         hdcMem, 0, 0, SRCCOPY);
  
        // Restore original bitmap selection and destroy the memory DC.
        SelectObject (hdcMem, hOldSel);
        DeleteDC (hdcMem);
        // Set the icon for this dialog.  The framework does this automatically
        //  when the application's main window is not a dialog
        SetIcon(m_hIcon, TRUE);                        // Set big icon
        SetIcon(m_hIcon, FALSE);                // Set small icon
       
        CenterWindow(GetDesktopWindow());        // center to the hpc screen
        // TODO: Add extra initialization here
       
        return TRUE;  // return TRUE  unless you set the focus to a control

请多多指教!非常感谢!
此帖出自WindowsCE论坛

最新回复

zxdlms果然是对的,非常感激,去给分啦!^_^  详情 回复 发表于 2008-6-4 13:11
点赞 关注
 

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
放到OnintialDialog里肯定不行啊。

在OnPaint里就可以显示了!
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
zxdlms果然是对的,非常感激,去给分啦!^_^
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表