该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不争了,反正都忘了嘛,就当不会了
贴了以前写的很短的小代码,在屏幕上随即画曲线的
有兴趣的拿去编译,选WINAPP模式
#include
#define IDTIMER 1
LRESULT CALLBACK Winproc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstanc,LPSTR lpCmdLine,int nShow)
{
TCHAR szApp[] = TEXT("SS");
HWND hwnd;
WNDCLASS wc;
MSG msg; wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = NULL;
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hIcon = NULL;
wc.hInstance = hInstance;
wc.lpfnWndProc = Winproc;
wc.lpszClassName = szApp;
wc.lpszMenuName = NULL;
wc.style = CS_VREDRAW | CS_HREDRAW; if(!RegisterClass(&wc))
{
MessageBox(NULL,TEXT("失败"),TEXT("警告框"),MB_ICONERROR);
return 0;
} hwnd = CreateWindow(szApp,NULL,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_HIDE);
UpdateWindow(hwnd); while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} return msg.wParam;
}LRESULT CALLBACK Winproc(HWND hwnd,UINT message,WPARAM wparam, LPARAM lparam)
{
HDC hdc;
int i,j;
static POINT pt[4] ;
static cxClient,cyClient;
SYSTEMTIME sysTime;
{
case WM_CREATE:
GetSystemTime(&sysTime);
srand(sysTime.wMilliseconds);
SetTimer(hwnd,IDTIMER,100,NULL);
return 0;
DeleteObject(SelectObject(hdc,GetStockObject(WHITE_PEN)));
PolyBezier(hdc,pt,4);
for(i = 0; i<4; i++)
{
pt[i].x = rand()%1025;
pt[i].y = rand()%769;
}
SelectObject(hdc,CreatePen(PS_SOLID,3,RGB(rand()%256,rand()%256,rand()%256)));
PolyBezier(hdc,pt,4);
DeleteDC(hdc);
return 0; case WM_DESTROY:
KillTimer(hwnd,IDTIMER);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wparam,lparam);
}