资源描述:
《MFC编辑显示位图相关资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MFC绘图--显示位图1、将位图加载到内存DC中2、将内存DC中的内容绘制到要显示位图的DC中*MFC中没有直接用来加载位图的函数,可以使用WindowsAPI中的LoadImage函数来加载位图,其原型如下:HANDLELoadImage(HINSTANCEhinst,//位图实体句柄,若位图在硬盘或者资源文件//中,则将该参数设为NULLLPCTSTRlpszName,//位图所在路径及文件名,或者资源名称UINTuType,//加载位图的类型://1、IMAGE_BITMAP//2、IMAGE_CURSOR//3、IMAGE_ICONintcxDesired,//位图宽度,像素intc
2、yDesired,//位图高度,像素UINTfuLoad//加载方式比如LR_LOADFROMFILE等);步骤:CClientDCdc(this);CDC*mdc=newCDC;//CDC只有空构造函数,也就是说无法通过拷贝函数来构造一个//与dc相同的mdc,即mdc=dc非法。//CreateCompatibleDC建立一个适合指定pDC的内存设备上下文mdc->CreateCompatibleDC(&dc);CBitmapbitmap;//CBitmap继承自CGdiObject//其成员变量m_hObject是一个句柄//AHANDLEcontainingtheHBITMAP,HP
3、ALETTE,HRGN,HBRUSH,HPEN,orHFONT//attachedtothisobject.//可以简单记为bitmap拥有HBITMAP类型句柄m_hObject,而该句柄需要使用//WindowsAPI的LoadImage获得bitmap.m_hObject=(HBITMAP)::LoadImage(NULL,"b1.bmp",IMAGE_BITMAP,500,400,LR_LOADFROMFILE);mdc->SelectObject(bitmap);CRectrect;//取得客户区域大小GetClientRect(&rect);//BitBlt()将位图贴到要显示的
4、DCdc.BitBlt(0,0,rect.right,rect.bottom,mdc,0,0,SRCCOPY);//最后要记得在析构函数中释放mdcdeletemdcposted@2010-01-2516:28蒲甫安阅读(139)评论(0)编辑MFC函数---CreateCompatibleDC()函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。 函数原型:HDCCreateCompatibleDC(HDChdc);CreateCompatibleDC-参数说明 参数: hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用
5、程序的当前显示器兼容的内存设备上下文环境。 返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。 WindowsNT:若想获得更多错误信息,请调用GetLastError函数。 注释:内存设备上下文环境是仅在内存中存在的设备上下文环境,当内存设备上下文环境被创建时,它的显示界面是标准的一个单色像素宽和一个单色像素高,在一个应用程序可以使用内存设备上下文环境进行绘图操作之前,它必须选择一个高和宽都正确的位图到设备上下文环境中,这可以通过使用CreateCompatibleBitmap函数指定高、宽和色彩组合以满足函数调用的需要。 当一个内存设备上下文
6、环境创建时,所有的特性都设为缺省值,内存设备上下文环境作为一个普通的设备上下文环境使用,当然也可以设置这些特性为非缺省值,得到它的特性的当前设置,为它选择画笔,刷子和区域。 CreateCompatibleDc函数只适用于支持光栅操作的设备,应用程序可以通过调用GetDeviceCaps函数来确定一个设备是否支持这些操作。 当不再需要内存设备上下文环境时,可调用DeleteDc函数删除它。 ICM:如果通过该函数的hdc参数传送给该函数设备上下文环境(Dc)对于独立颜色管理(ICM)是能用的,则该函数创建的设备上下文环境(Dc)是ICM能用的,资源和目标颜色间隔是在Dc中定义。
7、 速查:WindowsNT:3.1及以上版本;Windows:95及以上版本;WindowsCE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。posted@2010-01-2516:05蒲甫安阅读(409)评论(0)编辑CStatic控件的基本使用CStatic继承于CWnd,是一种特殊的窗体。他可以显示文本字符串(这也是最常用的用法)、图标、指针(cursor)、位图和增强图文