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; }