MoveTo(hdc,0,1); //这句话的意思,以及为什么有错误! 给了合理的解释的 就有分!希望大家都看看
// 下面这是 一个老问题了,都没有人回答正确,我现在再贴!
#include <windows.h>
#include <math.h>
#define pi 3.14159265359
LONG FAR PASCAL WindowProc(HWND,UINT,WPARAM,LPARAM);
char szProgName[]="ProgName";
int PASCAL WinMain(hInst,hPreInst,lpszCmdLine,nCmdShow)
HINSTANCE hInst,hPreInst;
LPSTR lpszCmdLine;
int nCmdShow;
{
HWND hWnd;
MSG msg;
WNDCLASS WC23SWA;
if(!hPreInst)
{
WC23SWA.lpszClassName=szProgName;
WC23SWA.hInstance=hInst;
WC23SWA.lpfnWndProc=WindowProc;
WC23SWA.hCursor=LoadCursor(NULL,IDC_ARROW);
WC23SWA.hIcon=NULL;
WC23SWA.lpszMenuName=NULL;
WC23SWA.hbrBackground=GetStockObject(WHITE_BRUSH);
WC23SWA.style=CS_HREDRAW|CS_VREDRAW;
WC23SWA.cbClsExtra=0;
WC23SWA.cbWndExtra=0;
if(!RegisterClass(&WC23SWA))
return FALSE;
}
hWnd=CreateWindow(szProgName,"Simple Windows Application",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,(HWND)NULL,(HMENU)NULL,(HANDLE)hInst,(LPSTR)NULL);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,(HWND)NULL,(UINT)NULL,(UINT)NULL))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return(msg.wParam);
}
LONG PASCAL WindowProc(hWnd,messg,wParam,lParam)
HWND hWnd;
UINT messg;
WPARAM wParam;
LPARAM lParam;
{
PAINTSTRUCT ps;
HDC hdc;
int i;
double y;
switch(messg)
{
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
/*------------------------------------*/
MoveTo(hdc,0,1); //这句话的意思,以及为什么有错误!
LineTo(hdc,639,429);
TextOut(hdc,55,20,"<-this is a line",16);
Chord(hdc,550,20,630,80,555,25,625,70);
TextOut(hdc,420,30,"<-this is a Chord",17);
Ellipse(hdc,200,200,275,250);
TextOut(hdc,210,215,"<-this is a Ellipse ",19);
Pie(hdc,300,50,400,150,300,50,300,100);
TextOut(hdc,350,80,"<-this is a pie",15);
//MoveTo(hdc,100,50);
LineTo(hdc,100,350);
//MoveTo(hdc,100,200);
LineTo(hdc,500,200);
//MoveTo(hdc,100,200);
for(i=0;i<400;i++)
{
y=120.0*sin(pi*i*(360.0/400.0/180.0));
LineTo(hdc,i+100,(int)(200.0-y));
}
/*------------------------------------*/
ValidateRect(hWnd,NULL);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return (DefWindowProc(hWnd,messg,wParam,lParam));
break;
}
return(0l);
}