To :WildCat2001(野猫) 请再帮我看看!

Love_Janna 2001-08-03 10:39:56
我的8bit的BMP是这样建立的! 是否有问题呢?


HDC hScrDC,hMemDC;
CRect m_rect(0,0,100,100);
//屏幕和内存设备描述表
HBITMAP hBitmap=NULL,hOldBitmap=NULL;
// 位图句柄
CDC *cd=::AfxGetApp()->m_pMainWnd->GetDC();
CString str;
//为屏幕创建设备描述表
hScrDC=cd->GetSafeHdc();
//为屏幕设备描述表创建兼容的内存设备描述表
hMemDC=CreateCompatibleDC(hScrDC);

// 创建一个与屏幕设备描述表兼容的位图
hBitmap = CreateCompatibleBitmap(hMemDC,100,50);//2*m_rect.Width(), m_rect.Height());
// 把新位图选到内存设备描述表中
hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);

HFONT hOldFont;HFONT font= ::CreateFont(20,0,0,0, 100,FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, FF_DECORATIVE, "黑体" );
hOldFont=(HFONT)::SelectObject(hMemDC,font);

::SetTextColor(hMemDC,RGB(255,255,255));
::SetBkColor(hMemDC,RGB(0,0,0));
::BitBlt(hMemDC,m_rect.left,m_rect.top,m_rect.Width(),m_rect.Height(),hMemDC,0,0,WHITENESS);
CString pp=".";
::TextOut(hMemDC,0,0,pp,strlen(pp));

hBitmap = (HBITMAP)SelectObject(hMemDC, hOldBitmap);

DeleteDC(hMemDC);
::SelectObject(hScrDC,hOldFont);
DeleteDC(hScrDC);
return hBitmap;//return HBITMAP;


...全文
10 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-08-03 10:39
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……