请问CDC::CreateCompatibleDC的功能, 哪些情况下用到? 请问CDC::CreateCompatibleDC的功能, 哪些情况下用到? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回复人: kingcom_xu(刀是用来杀人的!) ( ) 信誉:105 2003-01-01 13:50:00 得分:0 一般在创建内存DC时用到... 一个特例,显示位图//通过资源画图static void DrawBitmap(UINT bitmap,CDC *pDC,CRect rect){ CBitmap bmp; if (bmp.LoadBitmap(bitmap)) { BITMAP bmpInfo; bmp.GetBitmap(&bmpInfo); CDC dcMemory; dcMemory.CreateCompatibleDC(pDC); dcMemory.SelectObject(&bmp); pDC->SetStretchBltMode(HALFTONE); pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMemory,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY); }}//通过BMP文件画图static void drawBitmapFormFile(CString BitmapFilePath,CDC *pDC,CRect rect){ HANDLE filehandle=::LoadImage(NULL,BitmapFilePath,IMAGE_BITMAP,0,0,LR_LOADFROMFILE); if(filehandle!=NULL) { CBitmap bmp; if(bmp.Attach(filehandle)) { BITMAP bmpInfo; bmp.GetBitmap(&bmpInfo); CDC dcMemory; dcMemory.CreateCompatibleDC(pDC); dcMemory.SelectObject(&bmp); pDC->SetStretchBltMode(HALFTONE); pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMemory,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY); bmp.Detach(); } }} 是申请内存是用的了, 例如: CDC dcMemory; dcMemory.CreateCompatibleDC(pDC);位图的实现需要有内存(讲位图拷贝到内存) 如何在static控件上画图?? 发现一个使vc6.0编出来的程序在XP下有xp风格的简单方法,很奇怪!!!! 请教主界面设计的问题,也许你曾经也为此烦恼 :) 磁盘上的图片文件放入资源中,这段程序我有些不懂。 如何让一个MDI的程序双击文档时打开一个新程序? 高分求TDI编程例子程序,谢谢 请问combo box的相映函数是什么? vs2010配置方案 VC++ gSOAP 谁做成功的阿......找了好多资料都不成功..谢谢各位大侠了 新人求教!关于数据库更新的问题 为什么在win2000下用vc6.0编译的dll在win98下不好调用!急急急急急急! 元旦快乐,散分
一般在创建内存DC时用到...
//通过资源画图
static void DrawBitmap(UINT bitmap,CDC *pDC,CRect rect)
{
CBitmap bmp;
if (bmp.LoadBitmap(bitmap))
{
BITMAP bmpInfo;
bmp.GetBitmap(&bmpInfo);
CDC dcMemory;
dcMemory.CreateCompatibleDC(pDC);
dcMemory.SelectObject(&bmp);
pDC->SetStretchBltMode(HALFTONE);
pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMemory,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY);
}
}//通过BMP文件画图
static void drawBitmapFormFile(CString BitmapFilePath,CDC *pDC,CRect rect)
{
HANDLE filehandle=::LoadImage(NULL,BitmapFilePath,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
if(filehandle!=NULL)
{
CBitmap bmp;
if(bmp.Attach(filehandle))
{
BITMAP bmpInfo;
bmp.GetBitmap(&bmpInfo);
CDC dcMemory;
dcMemory.CreateCompatibleDC(pDC);
dcMemory.SelectObject(&bmp);
pDC->SetStretchBltMode(HALFTONE);
pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMemory,0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,SRCCOPY);
bmp.Detach();
}
}
}
例如:
CDC dcMemory;
dcMemory.CreateCompatibleDC(pDC);
位图的实现需要有内存(讲位图拷贝到内存)