c++ map使用问题和迭代器问题 编译器:VS2010旗舰版

c++ map使用问题和迭代器问题 编译器:VS2010旗舰版,第1张

cout<<"删除关键字为" 范伟 "的所有元素。\n"

改为

cout<<"删除关键字为\" 范伟 \"的所有元素。\n"

在解决方案窗口中对项目名鼠标右击,选择属性,字符集选择多字节字符集 ,vs2010默认是用unicode字符集的

添加背景最好是放在OnEraseBkgnd(CDC* pDC)函数中,在OnPaint中有可能会闪屏。

//  CBitmap m_pBmp

//  BITMAP bm

//  CDC dcMem

//  m_pBmp.LoadBitmap(IDB_BITMAP_BG)

//  m_pBmp.GetBitmap(&bm)//得到位图尺寸 

//  dcMem.CreateCompatibleDC(pDC)

//  CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp)

//  pDC->SetStretchBltMode(COLORONCOLOR)//这个模式不设置的话会导致图片严重失真

//  pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, bm.bmWidth,bm.bmHeight,SRCCOPY) 

//  dcMem.SelectObject(pOldBitmap)

//  dcMem.DeleteDC()

用我这个代码

为什么要LoadBitmap 2次?

在你添加对话框类里面用类向导添加一个WM_PAINT消息,并且加载一个bitmap类型的图片,然后在类中定义一个 CBitmap m_BKbitmap

构造函数里添加

m_BKbitmap.LoadBitmap(IDB_BITMAP1)//假设你加载的位图的ID为IDB_BITMAP1

然后WM_PAINT的响应函数Onpaint函数里添加如下代码:

BITMAP bm

CRect rect

CDC dcMem

m_BKbitmap.GetBitmap (&bm)

GetClientRect(&rect)

dcMem.CreateCompatibleDC (&dc)

CBitmap *oldbitmap=dcMem.SelectObject (&m_BKbitmap)

dc.BitBlt (0,0,bm.bmWidth ,bm.bmHeight ,&dcMem,0,0,SRCCOPY)

dcMem.SelectObject(oldbitmap)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7902750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存