当前位置:编程学习 > VC++ >>

VC++第一章一个错误(书上实例)

#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
char szClassName[]="windowclass";
char szAppTitle[]="API实例建立窗口实例";
INT PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,INT nCmdShow)
{
HWND hMainWnd;
MSG msg;
WNDCLASS winclass;
if (!hPrevInstance)
{
winclass.style=CS_HREDRAW|CS_VREDRAW;
winclass.lpfnWndProc=WndProc;
winclass.cbClsExtra=0;
winclass.cbWndExtra=0;
winclass.hInstance=hInstance;
winclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
winclass.hCursor=LoadCursor(NULL,IDC_ARROW);
winclass.hbrBackground=(HBRUSH)GetStockObject(LTGRAY_BRUSH);

winclass.lpszMenuName=NULL;
winclass.lpszClassName=szClassName;
RegisterClass(&winclass);
}
hMainWnd=CreateWindow(
szClassName,
szAppTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hMainWnd,SW_SHOWNORMAL);
UpdateWindow(hMainWnd);

while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;

}

LRESULT CALLBACK WndProc(HWND hMainwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
char messageleft[]="按下了鼠标左键!";
char messageright[]="按下了鼠标右键!";
switch(message)
{
case WM_PAINT:
{
BeginPaint(hMainwnd,&ps);
GetClientRect(hMainwnd,&rect);
DrawText(hdc,TEXT("使用API建立windows窗口实例!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_Visual C++ENTER);
EndPaint(hMainwnd,&ps);
break;

}
case WM_RBUTTONDOWN:
{
MessageBox(GetFocus(),messageright,"API建立窗口实例",MB_OK|MB_ICONINFORMATION);
break;

}
case WM_DESTROY:
{
PostQuitMessage(0);
return 0;

}
default:
break;


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

郁闷说什么就是不过.以下是错误代码

D:\VC++6.0\MSDev98\MyProjects\WinApidemo\Apidemo.cpp(62) : error C2065: 'DT_Visual' : undeclared identifier
D:\VC++6.0\MSDev98\MyProjects\WinApidemo\Apidemo.cpp(62) : error C2146: syntax error : missing ')' before identifier 'C'
D:\VC++6.0\MSDev98\MyProjects\WinApidemo\Apidemo.cpp(62) : error C2059: syntax error : ')'
执行 cl.exe 时出错.

追问:

这位大哥.按你说的改了.编译的时候过了.可是在组建的时候(F7)的时候.还是会报错:

LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Apidemo.exe : fatal error LNK1120: 1 unresolved externals

其在不行你加我Q吧:36968497,我这都要郁闷死了.就这个破问题郁闷一天了

答案:case WM_PAINT里改一下就对了

case WM_PAINT:
{
hdc = BeginPaint(hMainwnd,&ps);
GetClientRect(hMainwnd,&rect);
DrawText(hdc,TEXT("使用API建立windows窗口实例!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hMainwnd,&ps);
break;
}

黑体部分是错误,你可以对照一下

上一个:能用VC++做出怎样的程序才算精
下一个:VC++里的DC和CDC 有什么功能和参数

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,