LoadBitMap:函数的作用是从应用程序工程资源文件中加载位图。
LoadBitmap不能加载文件,只能加载资源,如果用文件的话改用LoadImage
LoadImage可以加载位图、图标、光标等多种图形数据。既可以从文件直接加载,也可以通过ID来加载。
//绘制位图的步骤:
HDC hDCMem=::CreateCompatibleDC(hdc);
HBITMAP hOldBmp=(HBITMAP)::SelectObject(hDCMem,hbmpBack);
BITMAP Bitmap;
::GetObjectA(hbmpBack,sizeof(Bitmap),&Bitmap);
::BitBlt(hdc,0,0,Bitmap.bmWidth,Bitmap.bmHeight,hDCMem,0,0,SRCCOPY);
::SelectObject(hDCMem,hOldBmp);
::DeleteDC(hDCMem);
BitBlt 拷贝是将位图原样拷贝,不会拉伸源位图。拷贝到目标DC中不会改变源位图的大小,强制改变也不行。即会按位图的实际大小进行拷贝,不会进行其他的操作。
StretchBlt 拉伸拷贝,可以将位图拉伸拷贝到指定的区域。StretchBlt与BitBlt不同在于StretchBlt方法能够延伸或收缩位图以适应目标区域的大小
//获取客户区的大小:GetClientRect。
//设置背景模式: SetBkMode设置DC的背景模式,Mode可以使TRANSPARENT(透明)和OPAQUE值(不透明)。
//库存字体:通过GetStockObject函数来获取。比如:GetStockObject(SYSTEM_FONT)获取默认的系统字体的句柄,在缺省情况下,系统使用该字体绘制菜单、文本。
DrawText和textout的参数不同的,textout是在一个起始点开始写文本,而DrawText是在某个区域里面写文本,精确定位用TextOut;格式对齐(居中,左对齐,右对齐等)用DrawText,此外DrawText还可以计算所绘字符串的面积大小,还可以以省略号代替超出区域的文本,区域是指参数RECT的大小。