#include <WINDOWS.H>
#include <MATH.H>
#include <STRING.H>
LRESULT CALLBACK MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ){
WNDCLASS wnd;
HWND hWnd;
MSG msg;
wnd.cbClsExtra=0;
wnd.cbWndExtra=0;
wnd.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wnd.hCursor=LoadCursor(NULL,IDC_ARROW);
wnd.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wnd.hInstance=hInstance;
wnd.lpfnWndProc=MyWndProc;
wnd.lpszClassName="window";
wnd.lpszMenuName=NULL;
wnd.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wnd)){
MessageBox(NULL,"REGITSTER FAILED","ERROR",0);
}
hWnd=CreateWindow("window","打印正弦函数",WS_OVERLAPPEDWINDOW,300,100,650,450,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,nShowCmd);
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){
HDC hdc;
double i;
char *title="使用Windows API打印正弦函数";
char *desc="y=sin(x/30)*120";
hdc=GetDC(hWnd);
switch(uMsg){
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_PAINT:
TextOut(hdc,100,40,title,strlen(title));
TextOut(hdc,420,140,desc,strlen(desc));
for(i=0;i<500;i+=0.1){
SetPixel(hdc,i+50,sin(i/30)*120+200,RGB(0,0,0));
SetPixel(hdc,i+40,200,RGB(0,0,0));
}
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
学习Window API打印正弦函数
最新推荐文章于 2022-10-30 14:48:35 发布