第一个WIN32程序

 看的时候觉得挺sb的一程序连复窗口都没有,可是编译起来还是挺费劲的。不过最后还是出来了心情不错 呵呵。

     有一个问题总结一下,就是在编译的时候,如果出现:
     “unexpected end of file while looking for precompiled header directive
执行 cl.exe 时出错.”那么在“工程”-》“设置”-》“c/c++”里设置“预编译的头文件”为不使用预补偿页眉,就可以了。或者在文件开头加上“#include stdafx.h”就可以了。
    另外,因为在程序里使用一些中文,所以一些符号比如“,”和";"的格式出了错误,所以以后应该先搞出程序来再加中文,不然,编译错误一片~~~~~~另外还有一些sb错误比如destroy写成了distroy……反正以后要好好学英语才行啊。。哎。

#include <windows.h>
#include <stdio.h>

LRESULT CALLBACK WinSunProc(        
 HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
);

int WINAPI WinMain(
  HINSTANCE hInstance, //当前实例的句柄
  HINSTANCE hPrevInstance, //前一个事例的句柄
  LPSTR lpCmdLine, // command line
  int nCmdShow
)
{
   WNDCLASS wndcls;
   wndcls.cbClsExtra=0;
   wndcls.cbWndExtra=0;
   wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
   wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
   wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
   wndcls.hInstance=hInstance;
   wndcls.lpfnWndProc=WinSunProc;
   wndcls.lpszClassName="偶的窗口";
   wndcls.lpszMenuName=NULL;
   wndcls.style=CS_HREDRAW|CS_VREDRAW;
   RegisterClass(&wndcls);

   HWND hwnd;
   hwnd=CreateWindow("偶的窗口","偶的窗口",WS_OVERLAPPEDWINDOW,
    0,0,600,400,NULL,NULL,hInstance,NULL);

   ShowWindow(hwnd,SW_SHOWNORMAL);
   UpdateWindow(hwnd);

   MSG msg;
   while(GetMessage(&msg,NULL,0,0))
   {
       TranslateMessage(&msg);
    DispatchMessage(&msg);
   }
   return 0;
}
LRESULT CALLBACK WinSunProc(        
 HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
)
{
   switch(uMsg)
   {
    case WM_CHAR:
         char szChar[20];
   sprintf(szChar,"char is d%",wParam);
   MessageBox(hwnd,szChar,"偶的窗口",0);
   break;
    case WM_LBUTTONDOWN:
   MessageBox(hwnd,"瞎点毛啊!","偶的窗口",0);
   HDC hdc;
   hdc=GetDC(hwnd);
   TextOut(hdc,0,50,"瞎点毛啊",strlen("瞎点毛啊"));
   ReleaseDC(hwnd,hdc);
   break;
    case WM_PAINT:
   HDC hDc;
   PAINTSTRUCT ps;
   hDc=BeginPaint(hwnd,&ps);
         TextOut(hDc,0,0,"你咋还不撩呢,我来了~",strlen("你咋还不撩呢,我来了~"));
   EndPaint(hwnd,&ps);
   break;
 case WM_CLOSE:
   if(IDYES==MessageBox(hwnd,"你还打算跑啊~我都快要变态了~","偶的窗口",MB_YESNO))
   {
      DestroyWindow(hwnd);
   }
   break;
 case WM_DESTROY:
   PostQuitMessage(0);
   break;
 default:
  return DefWindowProc(hwnd,uMsg,wParam,lParam);
   }
   return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值