Windows编程窗口



      1. /************************************************************************ 
      2.  * 名  称:Windows_Frist_Code.cpp 
      3.  * 功  能:Windows编程入门 
      4.  * 描  述:包含WinMain函数、WNDCLASS、消息循环等多种内容 
      5.            windows窗口程序的流程如下:【WinMain入口】-->创建和设计窗口类 
      6.         -->注册窗口类-->创建、显示和更新窗口-->消息循环-->【窗口过程函数】 
      7.  
      8.   

      9.  ************************************************************************/  
      10. #include <windows.h>  
      11. #include <stdio.h>  
      12. #include "resource.h"  
      13.   
      14. //回调函数  
      15. LRESULT CALLBACK WinProc(  
      16.                             HWND hwnd,   
      17.                             UINT uMsg,   
      18.                             WPARAM wParam,   
      19.                             LPARAM lParam   
      20. );  
      21.   
      22. //入口函数 WinMain  
      23. int WINAPI WinMain(HINSTANCE hInstance,    //当前应用程序的句柄  
      24.                    HINSTANCE hPrevInstance,//先前应用程序的句柄,总是NULL  
      25.                    LPSTR lpCmdLine,        //不包含程序名的命令行,可通过GetCommandLine获取  
      26.                    int nShowCmd            //窗口显示方式  
      27.                 )  
      28. {  
      29. //-------------------创建和设计窗口类----------------------------------------------------  
      30.     WNDCLASS wndclass;      
      31.     wndclass.cbClsExtra =0;  
      32.     wndclass.cbWndExtra =0;  
      33.     wndclass.hbrBackground =(HBRUSH)GetStockObject(GRAY_BRUSH);  
      34.     wndclass.hCursor =LoadCursor(hInstance,MAKEINTRESOURCE(ID_MYCURSOR));   //LoadCursor(NULL,IDC_HELP);//  
      35.     wndclass.hIcon =LoadIcon(hInstance,MAKEINTRESOURCE(ID_MYICON));         //LoadIcon(NULL,IDI_APPLICATION);//  
      36.     wndclass.hInstance =hInstance;  
      37.     wndclass.lpfnWndProc =WinProc;  
      38.     wndclass.lpszClassName ="Jarvis";  
      39.     wndclass.lpszMenuName =NULL;  
      40.     wndclass.style =CS_HREDRAW | CS_VREDRAW;  
      41.   
      42. //-------------------注册窗口类----------------------------------------------------  
      43.     RegisterClass(&wndclass);  
      44.       
      45. //-------------------创建显示更新窗口----------------------------------------------------  
      46.     HWND hwnd;  
      47.     hwnd=CreateWindow("Jarvis","Jarvis",WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_MAXIMIZE,  
      48.         CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);  
      49.       
      50.     ShowWindow(hwnd,SW_SHOWNORMAL);  
      51.     UpdateWindow(hwnd);  
      52.   
      53. //-------------------消息循环----------------------------------------------------  
      54.     MSG msg;  
      55.     while(GetMessage(&msg,NULL,0,0))  
      56.     {  
      57.         TranslateMessage(&msg);  
      58.         DispatchMessage(&msg);  
      59.     }  
      60.     return 0;  
      61. }  
      62.   
      63.   
      64. //窗口过程函数实现  
      65. LRESULT CALLBACK WinProc(  
      66.                             HWND hwnd,   
      67.                             UINT uMsg,   
      68.                             WPARAM wParam,   
      69.                             LPARAM lParam   
      70.                             )  
      71. {  
      72.     switch(uMsg)  
      73.     {  
      74.   
      75.     case WM_LBUTTONDOWN:  
      76.         MessageBox(hwnd,"LeftButton Clicked!","Prompt",0);  
      77.         break;  
      78.     case WM_CLOSE:  
      79.         if(IDYES==MessageBox(hwnd,"Are you sure to quit?","Prompt",MB_YESNO))  
      80.         {  
      81.             DestroyWindow(hwnd);  
      82.         }  
      83.         break;  
      84.     case WM_DESTROY:  
      85.         PostQuitMessage(0);  
      86.         break;  
      87.     default:  
      88.         return DefWindowProc(hwnd,uMsg,wParam,lParam);  
      89.           
      90.     }  
      91.     return 0;  
      92. }  
                       
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值