《Windows程序设计》之位图操作

1、在内存中创建位图,并在位图中写入文字

		hdc=GetDC(hwnd);
		//创建内存设备上下文
		hdcMem=CreateCompatibleDC(hdc);
		//计算指定的正文字符串的高度和宽度
		GetTextExtentPoint32(hdc,szText,lstrlen(szText),&size);
		cxBitmap=size.cx;
		cyBitmap=size.cy;
		/*cxBitmap=cxBitmap*2;
		cyBitmap=cyBitmap*2;*/
		//测试出来背景是黑色的,可以加入上面两行测试
		//创建一个大小为cxBitmap*cyBitmap位图
		hBitmap=CreateCompatibleBitmap(hdc,cxBitmap,cyBitmap);
		ReleaseDC(hwnd,hdc);
		//选入设备环境中
		SelectObject(hdcMem,hBitmap);
		//在内存的位图中输入要输入的文字,字体是黑色的,背景是白色的
		TextOut(hdcMem,0,0,szText,lstrlen(szText));

2、菜单栏操作的一些方法

		switch(LOWORD(wParam))
		{
		case IDM_BIG:
		case IDM_SMALL:
			//这个地方一开始没看懂,有点别扭
			//iSize一开始被赋值为IDM_BIG,在点击IDM_SMALL后,iSize并没有改变,还是IDM_BIG
			//取消IDM_BIG的选中状态
			CheckMenuItem(hMenu,iSize,MF_UNCHECKED);
			//得到点击是哪一项
			iSize=LOWORD(wParam);
			//把这一项设置为选中状态,此时iSize就是选中项,直到再次执行iSize=LOWORD(wParam)前
			CheckMenuItem(hMenu,iSize,MF_CHECKED);
			//刷新
			InvalidateRect(hwnd,NULL,TRUE);
			break;
		}




你可能感兴趣的:(《Windows程序设计》之位图操作)