首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

missing ';' before identifier 'LRESULT',该如何处理

2012-04-14 
missing before identifier LRESULT#include windows.h#include sysmets.hLRESULT CALLBACK Wn

missing ';' before identifier 'LRESULT'
#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=LoadCursor (NULL,IDC_ARROW);
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 progam 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);
}




-----------------------
#include <windows.h>
#include "sysmets.h"
;
LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM);

为什么我一少了LRESULT前面的分号 就会报错missing ';' before identifier 'LRESULT'
请大侠指点



[解决办法]
sysmets.h是你自己的头文件吗? 可能是头文件最后缺少个';'

热点排行