求大神解释一下
for (i = 0; i < min(cLine, cyClient / cyChar - 1); i++){
iType = pmsg.message == WM_CHAR || pmsg.message == WM_CHAR || pmsg.message == WM_CHAR || pmsg.message == WM_CHAR;
GetKeyNameText(pmsg.lParam,szKeyName, sizeof(szKeyName) / sizeof(TCHAR));
//StringCchPrintf(szBuffer, sizeof(szBuffer), szFormat,
// szMessage.message - WM_KEYFIRST],
// pmsg.wParam,
// (PTSTR)(iType ? TEXT(" ") : szKeyName), //如果不是字符消息 ,那么itype等于0,那么用后者
// (TCHAR)(iType ? pmsg.wParam : ' '), //如果是字符消息 ,那么itype等于1,那么前者虚拟键码
// LOWORD(pmsg.lParam),//重复次数
// HIWORD(pmsg.lParam) & 0xFF, //键盘扫描码
// 0x01000000 & pmsg.lParam ? szYes : szNo,
// 0x20000000 & pmsg.lParam ? szYes : szNo,
// 0x40000000 & pmsg.lParam ? szDown : szUp, //之前状态
// 0x80000000 & pmsg.lParam ? szUp : szDown//当前状态
// );
//StringCchLength(szBuffer, sizeof(szBuffer), &iTagi);
//TextOut(hdc, 0, cyChar*(cyClient/cyChar - 1 - i), szBuffer, iTagi);
StringCchPrintf(szBuffer, sizeof(szBuffer), TEXT("%13s"), szMessage.message - WM_KEYFIRST]);
StringCchLength(szBuffer, sizeof(szBuffer), &iTagi);
TextOut(hdc, 0, cyChar*(cyClient / cyChar - 1 - i), szBuffer, iTagi);
}
EndPaint(hwnd, &ps);
教程中35讲的例子运行时对齐出错,于是将其注释掉,单独观察TEXT("%13s")的结果,发现是居中的,求如何修改??
小白一枚 不会添加图片 我知道原因了 ,是因为没有成功载等宽字体,用SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT)); 就可以载入等宽了 而之前用的SelectObject(hdc, SYSTEM_FIXED_FONT);不行不知道为什么
楼主,问题解决了,请结帖!
页:
[1]