Linking...
five.obj : error LNK2001: unresolved external symbol "int __cdecl InitWindowsClass(struct HINSTANCE__ *,int)" (?InitWindowsClass@@YAHPAUHINSTANCE__@@H@Z)
Debug/five_angel.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
five.obj : error LNK2001: unresolved external symbol "int __cdecl InitWindowsClass(struct HINSTANCE__ *,int)" (?InitWindowsClass@@YAHPAUHINSTANCE__@@H@Z)
Debug/five_angel.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,"END");
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName="WinFill";
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW|CS_VREDRAW;
return RegisterClass(&WndClass);
}
# include <stdlib.h>
# include <string.h>
# include <math.h>
# define Pi 3.1415926
long WINAPI WndProc(HWND hWnd,UINT iMessage,
UINT wParam,LONG lParam);BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindowsClass(HINSTANCE hInstance,int nCmdShow);
HWND hWndMain;int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow){
MSG Message;
if(!InitWindowsClass(hInstance))
return FALSE;
if(!InitWindowsClass(hInstance,nCmdShow))
return FALSE;
while(GetMessage(&Message,0,0,0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}long WINAPI WndProc(HWND hWnd,UINT iMessage,
UINT wParam,LONG lParam){
HDC hDC;
HBRUSH hBrush;
HPEN hPen;
PAINTSTRUCT PtStr;
double dfRadious0=100.0,dfRadious1;
POINT lpOuterPoints[5],lpInnerPoints[5];
POINT lpTriangle[3];
dfRadious1=dfRadious0*sin(0.1*Pi)/sin(126.0/180*Pi);for(int i = 0;i<5 ; i++)
{
lpOuterPoints[i].x=(long)(dfRadious0*cos(i*72.0/180*Pi));
lpOuterPoints[i].y=(long)(dfRadious0*sin(i*72.0/180*Pi));
lpOuterPoints[i].x=(long)(dfRadious1*cos(i*72.0/180*Pi+36.0/180*Pi));
lpOuterPoints[i].y=(long)(dfRadious1*sin(i*72.0/180*Pi+36.0/180*Pi));
}switch(iMessage)
{
case WM_PAINT:
hDC=BeginPaint(hWnd,&PtStr);
SetMapMode(hDC,MM_ANISOTROPIC);
SetWindowOrgEx(hDC,-100,-100,NULL);
hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));
SelectObject(hDC,hPen);
Polygon(hDC,lpOuterPoints,5); for(i=0;i<5;i++) {
lpTriangle[0]=lpOuterPoints[i%5];
lpTriangle[1]=lpInnerPoints[i%5];
lpTriangle[2]=lpOuterPoints[(i+1)%5];
hBrush=CreateSolidBrush(RGB(i*10,i*20,i*30));
SelectObject(hDC,hBrush);
Polygon(hDC,lpTriangle,3);
lpTriangle[2]=lpInnerPoints[(i+4)%5];
hBrush=CreateSolidBrush(RGB(i*40,i*30,i*20));
SelectObject(hDC,hBrush);
Polygon(hDC,lpTriangle,3); } hBrush=CreateSolidBrush(RGB(255,255,255));
SelectObject(hDC,hBrush);
Polygon(hDC,lpInnerPoints,5);
MoveToEx(hDC,lpOuterPoints[0].x,lpOuterPoints[0].y,NULL);
for(i=1;i<=5;i++)
{
hPen=CreatePen(PS_SOLID,1,RGB(0,i*51,0));
SelectObject(hDC,hPen);
LineTo(hDC,lpOuterPoints[(i+2)%5].x,lpOuterPoints[(i+2)%5].y);
} hPen=(HPEN)(GetStockObject(PS_NULL));
DeleteObject(hPen);
DeleteObject(hBrush);
EndPaint(hWnd,&PtStr);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
}BOOL InitWindows(HINSTANCE hInstance,int nCmdShow)
{
HWND hWnd;
hWnd=CreateWindow("Polygon",
"五边形",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
0,
CW_USEDEFAULT,
0,
NULL,
NULL,
hInstance,
NULL);
if(!hWnd)
return FALSE;
hWndMain=hWnd;
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
return TRUE;}BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName="Polygon";
WndClass.lpszMenuName=NULL;
WndClass.style=0;
return RegisterClass(&WndClass);
}
是不是写错了,
其实是BOOL InitWindowsClass(HINSTANCE hInstance,int nCmdShow);