双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

这段代码错在哪里?怎样修改才能顺利通过?附代码,和错误提示.

寻找科技 寻找科技 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这段代码错在哪里?怎样修改才能顺利通过?附代码,和错误提示.

SYSMETS.H
-------

/*
SYSMETS.H -- System metrics display structure
*/

#define NUMLINES ((int)(sizeof sysmetrics / sizeof sysmetrics[0]))

struct
{
int Index;
TCHAR *szLabel;
TCHAR *szDesc;
}

sysmetrics[] =
{
SM_CXSCREEN,TEXT("SM_CXSCREEN"),
TEXT("Screen width in pixels"),
SM_CYSCREEN,TEXT("SM_CYSCREEN"),
TEXT("Screen height in pixels"),
SM_CXVSCROLL,TEXT("SM_CXVSCROLL"),
TEXT("Vertical scroll width"),
SM_CYHSCROLL,TEXT("SM_CYHSCROLL"),
TEXT("Horizontal scroll height"),
SM_CYCAPTION,TEXT("SM_CYCAPTION"),
TEXT("Caption bar height"),
SM_CXBORDER,TEXT("SM_CXBORDER"),
TEXT("Window border width"),
SM_CYBORDER,TEXT("SM_CYBORDER"),
TEXT("Window border height"),
SM_CXFIXEDFRAME,TEXT("SM_CXFIXEDFRAME"),
TEXT("Dialog window frame width"),
SM_CYFIXEDFRAME,TEXT("SM_CYFIXEDFRAME"),
TEXT("Dialog window frame height"),
SM_CYVTHUMB,TEXT("SM_CYVTHUMB"),
TEXT("Vertical scroll thumb height"),
SM_CXHTHUMB,TEXT("SM_CXHTHUMB"),
TEXT("Horizontal scroll thumb width"),
SM_CXICON,TEXT("SM_CXICON"),
TEXT("Icon width"),
SM_CYICON,TEXT("SM_CYICON"),
TEXT("Icon height"),
SM_CXCURSOR,TEXT("SM_CXCURSOR"),
TEXT("Cursor width"),
SM_CYCURSOR,TEXT("SM_CYCURSOR"),
TEXT("Cursor height"),
SM_CYMENU,TEXT("SM_CYMENU"),
TEXT("Menu bar height"),
SM_CXFULLSCREEN,TEXT("SM_CXFULLSCREEN"),
TEXT("Full screen client area width"),
SM_CYFULLSCREEN,TEXT("SM_CYFULLSCREEN"),
TEXT("Full screen client area height"),
SM_CYKANJIWINDOW,TEXT("SM_CYKANJIWINDOW"),
TEXT("Kanji window height"),
SM_MOUSEPRESENT,TEXT("SM_MOUSEPRESENT"),
TEXT("Mouse present flag"),
SM_CYVSCROLL,TEXT("SM_CYVSCROLL"),
TEXT("Vertical scroll arrow height"),
SM_CXHSCROLL,TEXT("SM_CXHSCROLL"),
TEXT("Horizontal scroll arrow width"),
SM_DEBUG,TEXT("SM_DEBUG"),
TEXT("Debug version flag"),
SM_SWAPBUTTON,TEXT("SM_SWAPBUTTON"),
TEXT("Mouse buttons swapped flag"),
SM_CXMIN,TEXT("SM_CXMIN"),
TEXT("Minimum window width"),
SM_CYMIN,TEXT("SM_CYMIN"),
TEXT("Minimum window height"),
SM_CXSIZE,TEXT("SM_CXSIZE"),
TEXT("Min/Max/Close button width"),
SM_CYSIZE,TEXT("SM_CYSIZE"),
TEXT("Min/Max/Close button height"),
SM_CXSIZEFRAME,TEXT("SM_CXSIZEFRAME"),
TEXT("Window sizing frame width"),
SM_CYSIZEFRAME,TEXT("SM_CYSIZEFRAME"),
TEXT("Window sizing frame height"),
SM_CXMINTRACK,TEXT("SM_CXMINTRACK"),
TEXT("Minimum window tracking width"),
SM_CYMINTRACK,TEXT("SM_CYMINTRACK"),
TEXT("Minimum window tracking height"),
SM_CXDOUBLECLK,TEXT("SM_CXDOUBLECLK"),
TEXT("Double click x tolerance"),
SM_CYDOUBLECLK,TEXT("SM_CYDOUBLECLK"),
TEXT("Double click y tolerance"),
SM_CXICONSPACING,TEXT("SM_CXICONSPACING"),
TEXT("Horizontal icon spacing"),
SM_CYICONSPACING,TEXT("SM_CYICONSPACING"),
TEXT("Vertical icon spacing"),
SM_MENUDROPALIGNMENT,TEXT("SM_MENUDROPALIGNMENT"),
TEXT("Left or right menu drop"),
SM_PENWINDOWS,TEXT("SM_PENWINDOWS"),
TEXT("Pen extensions installed"),
SM_DBCSENABLED,TEXT("SM_DBCSENABLED"),
TEXT("Double-Byte Char Set enabled"),
SM_CMOUSEBUTTONS,TEXT("SM_CMOUSEBUTTONS"),
TEXT("Number of mouse buttons"),
SM_SECURE,TEXT("SM_SECURE"),
TEXT("Security present flag"),
SM_CXEDGE,TEXT("SM_CXEDGE"),
TEXT("3-D border width"),
SM_CYEDGE,TEXT("SM_CYEDGE"),
TEXT("3_D border height"),
SM_CXMINSPACING,TEXT("SM_CXMINSPACING"),
TEXT("Minimized window spacing width"),
SM_CYMINSPACING,TEXT("SM_CYMINSPACING"),
TEXT("Minimized window spacing height"),
SM_CXSMICON,TEXT("SM_CXSMICON"),
TEXT("Small icon width"),
SM_CYSMICON,TEXT("SM_CYSMICON"),
TEXT("Small icon height"),
SM_CYSMCAPTION,TEXT("SM_CYSMCAPTION"),
TEXT("Small caption height"),
SM_CXSMSIZE,TEXT("SM_CXSMSIZE"),
TEXT("Small caption button width"),
SM_CYSMSIZE,TEXT("SM_CYSMSIZE"),
TEXT("Small caption button height"),
SM_CXMENUSIZE,TEXT("SM_CXMENUSIZE"),
TEXT("Menu bar button width"),
SM_CYMENUSIZE,TEXT("SM_CYMENUSIZE"),
TEXT("Menu bar button height"),
SM_ARRANGE,TEXT("SM_ARRANGE"),
TEXT("How minimized windows arranged"),
SM_CXMINIMIZED,TEXT("SM_CXMINIMIZED"),
TEXT("Minimized window width"),
SM_CYMINIMIZED,TEXT("SM_CYMINIMIZED"),
TEXT("Minimized window height"),
SM_CXMAXTRACK,TEXT("SM_CXMAXTRACK"),
TEXT("Maximum draggable width"),
SM_CYMAXTRACK,TEXT("SM_CYMAXTRACK"),
TEXT("Maximum draggable height"),
SM_CXMAXIMIZED,TEXT("SM_CXMAXIMIZED"),
TEXT("Width of maximized window"),
SM_CYMAXIMIZED,TEXT("SM_CYMAXIMIZED"),
TEXT("Height of maximized window"),
SM_NETWORK,TEXT("SM_NETWORK"),
TEXT("Network present flag"),
SM_CLEANBOOT,TEXT("SM_CLEANBOOT"),
TEXT("How system was booted"),
SM_CXDRAG,TEXT("SM_CXDRAG"),
TEXT("Avoid drag x tolerance"),
SM_CYDRAG,TEXT("SM_CYDRAG"),
TEXT("Avoid drag y tolerance"),
SM_SHOWSOUNDS,TEXT("SM_SHOWSOUNDS"),
TEXT("Present sounds visually"),
SM_CXMENUCHECK,TEXT("SM_CXMENUCHECK"),
TEXT("Menu check-mark width"),
SM_CYMENUCHECK,TEXT("SM_CYMENUCHECK"),
TEXT("Menu check-mark height"),
SM_SLOWMACHINE,TEXT("SM_SLOWMACHINE"),
TEXT("Slow processor flag"),
SM_MIDEASTENABLED,TEXT("SM_MIDEASTENABLED"),
TEXT("Hebrew and Arabic enabled flag"),
SM_MOUSEWHEELPRESENT,TEXT("SM_MOUSEWHEELPRESENT"),
TEXT("Mouse wheel present flag"),
SM_XVIRTUALSCREEN,TEXT("SM_XVIRTUALSCREEN"),
TEXT("Virtual screen x origin"),
SM_YVIRTUALSCREEN,TEXT("SM_YVIRTUALSCREEN"),
TEXT("Virtual screen y origin"),
SM_CXVIRTUALSCREEN,TEXT("SM_CXVIRTUALSCREEN"),
TEXT("Virtual screen width"),
SM_CYVIRTUALSCREEN,TEXT("SM_CYVIRTUALSCREEN"),
TEXT("Virtual screen height"),
SM_CMONITORS,TEXT("SM_CMONITORS"),
TEXT("Number of monitors"),
SM_SAMEDISPLAYFORMAT,TEXT("SM_SAMEDISPLAYFORMAT"),
TEXT("Same color format flag")
}


-------
SYSMETS1.C
-------

/*
SYSMETS1.C -- System Metrics Display Program No.1
(c) Charles Petzold,1998
*/

#include <windows.h>
#include "SYSMETS.H"

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[] = TEXT("SysMets1");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;

if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires Windows NT!"),szAppName,MB_ICONERROR);

return 0;
}

hwnd = CreateWindow(szAppName,TEXT("Get System Metrics No.1"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
static int cxChar,cxCaps,cyChar;
HDC hdc;
int i;
PAINTSTRUCT ps;
TCHAR szBuffer[10];
TEXTMETRIC tm;
switch(message)
{
case WM_CREATE:
hdc = GetDC(hwnd);
GetTextMetrics(hdc,&tm);
cxChar = tm.tmAveCharWidth;
cxCaps = (tm.tmPitchAndFamily&1?3:2)*cxChar/2;
cyChar = tm.tmHeight + tm.tmExternalLeading;

ReleaseDC(hwnd,hdc);
return 0;

case WM_PAINT:
hdc = BeginPaint(hwnd,&ps);

for(i=0;i<NUMLINES;i++)
{
TextOut(hdc,0,cyChar*i,sysmetrics[i].szLabel,lstrlen(sysmetrics[i].szLabel));
TextOut(hdc,22*cxCaps,cyChar*i,sysmetrics[i].szDesc,lstrlen(sysmetrics[i].szDesc));

SetTextAlign(hdc,TA_RIGHT|TA_TOP);
TextOut(hdc,22*cxCaps+40*cxChar,cyChar*i,szBuffer,wsprintf(szBuffer,TEXT("%5d"),GetSystemMetrics(sysmetrics[i].iIndex)));
SetTextAlign(hdc,TA_LEFT|TA_TOP);
}
EndPaint(hwnd,&ps);
return 0;

case WM_DESTROY:
PostQuitMessage(0);

return 0;
}

return DefWindowProc(hwnd,message,wParam,lParam);
}


-------
错误提示:
-------

Deleting intermediate files and output files for project 'SYSMETS1 - Win32 Debug'.
--------------------Configuration: SYSMETS1 - Win32 Debug--------------------
Compiling...
SYSMETS1.CPP
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(152) : error C2065: 'SM_MOUSEWHEELPRESENT' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(154) : error C2065: 'SM_XVIRTUALSCREEN' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(156) : error C2065: 'SM_YVIRTUALSCREEN' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(158) : error C2065: 'SM_CXVIRTUALSCREEN' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(160) : error C2065: 'SM_CYVIRTUALSCREEN' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(162) : error C2065: 'SM_CMONITORS' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(164) : error C2065: 'SM_SAMEDISPLAYFORMAT' : undeclared identifier
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets1.cpp(9) : error C2143: syntax error : missing ';' before 'PCH creation point'
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets1.cpp(79) : error C2039: 'iIndex' : is not a member of '__unnamed'
c:\program files\microsoft visual studio\myprojects\sysmets1\sysmets.h(8) : see declaration of '__unnamed'
Error executing cl.exe.

SYSMETS1.exe - 9 error(s), 0 warning(s)

-------
编译环境为 VC++ 6.0
-------
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
寻找科技
VC/MFC 16,551 成员 421,605 内容