当前位置:我的异常网» C语言 » c的windows_api中的wm_char消息的有关问题
c的windows_api中的wm_char消息的有关问题(4)
www.myexceptions.net 网友分享于:2014-05-10 浏览:1次
TextColor = (pTemp->cCoord.y >= ((iyMax / 3 )* 2)) ? RGB(255,255,255) : RGB(0,0,0);
OutputNodeData(hdc,pTemp,TextColor); //输出所有字符
pTemp= pTemp->pNext;
}
ReleaseDC(hwnd,hdc);
}
break;
case WM_CHAR:
TempChar = (char)wParam;
//hdc = GetDC(hwnd);
// TextOut(hdc,ixMax / 2 * cxChar,(iyMax - 1)* cyChar,szBuffer,wsprintf(szBuffer,"%c",TempChar));
if(TempChar 126)
break;
pTemp = ScanListCh(&pHead,TempChar);
//TextOut(hdc,ixMax / 2 * cxChar + 2 * cxChar,(iyMax - 1)* cyChar,szBuffer,wsprintf(szBuffer,"%d",pTemp));
//ReleaseDC(hwnd,hdc);
if(pTemp && (pTemp->cCoord.y
{
iCount += 10;//增加分数
hdc = GetDC(hwnd);
SetMapMode(hdc,MM_ANISOTROPIC);
SetWindowExtEx(hdc,1,1,NULL);
SetViewportExtEx(hdc,cxChar,cyChar,NULL);
SetBkMode(hdc,TRANSPARENT);
TextColor = RGB(255,255,255);
OutputNodeData(hdc,pTemp,TextColor);
DeleteNode(&pHead,pTemp);//删除节点
ReleaseDC(hwnd,hdc);
if(iCount >= (iLevel + 1) * LevelFlage)
{
iLevel ++;
KillTimer(hwnd,TIME_ID_2);
SetTimer(hwnd,TIME_ID_2,iTimeMe -= 100,NULL);
}
}
//如果有相同字符,清除该字符,并释放节点;
//分数+10
//如果分数》= (ilevel + 1) * levelflage;ilevel += 1;
//killtimer time_id_2;setkilltimer -50;
break;
case WM_KEYDOWN:
if(iPaush)//如果暂停标识为真,则置为假;
{
iPaush = FALSE;
break;
文章评论