VC,SDK小程序
1 #include<windows.h>
2 #include<iostream>
3 LRESULT CALLBACK WndProc(
4 HWND hwnd,
5 UINT,
6 WPARAM wParam,
7 LPARAM lParam
8 );//回调函数声明
9 int WINAPI WinMain(
10 HINSTANCE hInstance,
11 HINSTANCE hPrevInstance,
12 LPSTR lpCmdLine,
13 int nShowCmd )
14 {
15 WNDCLASS wndclass;
16 wndclass.cbClsExtra=0;
17 wndclass.cbWndExtra=0;
18 wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
19 wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);//采用系统的,用NULL
20 wndclass.hIcon=LoadIcon(NULL,IDI_ERROR);
21 wndclass.hInstance=hInstance;
22 wndclass.lpfnWndProc=WndProc;
23 wndclass.lpszClassName="welson";
24 wndclass.lpszMenuName=NULL;
25 wndclass.style=CS_VREDRAW|CS_HREDRAW;
26
27 RegisterClass(&wndclass);
28 HWND hwnd;
29 hwnd=CreateWindow("welson","First API",WS_OVERLAPPEDWINDOW,
30 CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,//位置
31 NULL,//父窗口
32 NULL,//菜单
33 hInstance,
34 NULL);//附加信息lpParam
35 ShowWindow(hwnd,SW_SHOWDEFAULT);//shownormal,showdefault,SW_MINIMIZE
36 UpdateWindow(hwnd);
37 MSG msg;
38 while(GetMessageA(&msg,NULL,0,0))
39 {
40 TranslateMessage(&msg);
41 DispatchMessage(&msg);
42 }
43 return 0;
44 }
45 LRESULT CALLBACK WndProc(
46 HWND hwnd,
47 UINT uMsg,
48 WPARAM wParam,
49 LPARAM lParam
50 )
51 {
52 switch(uMsg){
53 case WM_CHAR:
54 char szchar[20];
55 sprintf(szchar,"the char is %d",wParam);
56 MessageBox(hwnd,szchar,"my_first_api",0);
57 break;
58 case WM_LBUTTONDOWN:
59 HDC hdc;
60 hdc=GetDC(hwnd);
61 TextOut(hdc,0,50,"this is mouse",strlen("this is mouse"));
62 ReleaseDC(hwnd,hdc);
63 break;
64 case WM_CLOSE:
65 if(IDYES==MessageBox(hwnd,"是否关闭?","messgebox",MB_YESNO))
66 DestroyWindow(hwnd);
67 break;
68 case WM_DESTROY:
69 PostQuitMessage(0);
70 break;
71 case WM_PAINT:
72 HDC hDc;
73 PAINTSTRUCT ps;
74 hDc=BeginPaint(hwnd,&ps);
75 TextOut(hDc,0,60,"this is be painting",strlen("this is be painting"));
76 EndPaint(hwnd,&ps);
77 break;
78 default:
79 return DefWindowProc(hwnd,uMsg,wParam,lParam);
80 }
81 return 0;
82 }

浙公网安备 33010602011771号