zoukankan      html  css  js  c++  java
  • 《windows程序设计》学习_2.2:初识消息,双键的使用

      1 /* 双键的使用 */
      2 
      3 #include <windows.h>
      4 
      5 
      6 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);    
      7 
      8 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
      9                    PSTR szCmdLine, int iCmdShow)
     10 {
     11     static TCHAR szAppName[] = TEXT ("HelloWin");
     12     HWND         hwnd;
     13     MSG          msg;
     14     WNDCLASS     wndclass;
     15     
     16     wndclass.style              = CS_HREDRAW | CS_VREDRAW  ;
     17     wndclass.lpfnWndProc        = WndProc ;
     18     wndclass.cbClsExtra         = 0 ;
     19     wndclass.cbWndExtra         = 0 ;
     20     wndclass.hInstance          = hInstance ;
     21     wndclass.hIcon              = LoadIcon(NULL,IDI_APPLICATION) ;
     22     wndclass.hCursor            = LoadCursor(NULL,IDC_ARROW) ;
     23     wndclass.hbrBackground      = (HBRUSH) GetStockObject(WHITE_BRUSH) ;
     24     wndclass.lpszMenuName       = NULL ;
     25     wndclass.lpszClassName      = szAppName ;
     26     
     27     if(!RegisterClass(&wndclass))
     28     {
     29         MessageBox(NULL, TEXT("This program requires Windows NT!"),
     30             szAppName, MB_ICONERROR);
     31         
     32         return 0;
     33     }
     34     
     35     hwnd = CreateWindow(szAppName,
     36         TEXT("The Hello Program"),
     37         WS_OVERLAPPEDWINDOW,
     38         CW_USEDEFAULT,
     39         CW_USEDEFAULT,
     40         CW_USEDEFAULT,
     41         CW_USEDEFAULT,
     42         NULL,
     43         NULL,
     44         hInstance,
     45         NULL);
     46     
     47     ShowWindow(hwnd , iCmdShow);
     48     UpdateWindow(hwnd);
     49     
     50     while(GetMessage (&msg, NULL, 0, 0))
     51     {
     52         TranslateMessage(&msg);
     53         DispatchMessage(&msg);
     54     }
     55     
     56     return msg.wParam;
     57 }
     58 
     59 LRESULT CALLBACK WndProc(HWND hwnd , UINT message , WPARAM wParam , LPARAM lParam)
     60 {
     61     HDC         hdc;
     62     PAINTSTRUCT ps;
     63     RECT        rect;
     64     
     65     switch(message)
     66     {
     67     case WM_CREATE:
     68 //        PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
     69         return 0;
     70         
     71     case WM_PAINT:
     72         hdc = BeginPaint(hwnd , &ps);
     73         
     74         GetClientRect(hwnd, &rect);
     75         
     76         DrawText(hdc , TEXT("Hello Windows 98!") , -1 ,&rect , 
     77             DT_SINGLELINE | DT_CENTER | DT_VCENTER);
     78         
     79         EndPaint(hwnd,&ps);
     80         
     81 //        PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
     82         return 0;
     83 
     84     case WM_LBUTTONDOWN:
     85         if(wParam & MK_RBUTTON)
     86             PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
     87         return 0;
     88 
     89     case WM_RBUTTONDOWN:
     90         if(wParam & MK_LBUTTON)
     91             PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
     92         return 0;
     93         
     94     case WM_DESTROY:
     95 //        PlaySound (TEXT ("123.wav"), NULL , SND_FILENAME |SND_ASYNC);
     96         PostQuitMessage(0);
     97         return 0;
     98     }
     99     return DefWindowProc(hwnd,message,wParam,lParam);
    100 }
  • 相关阅读:
    对于数据的测试
    绕过前端,直接调用后端接口的可能性
    API接口自动化之3 同一个war包中多个接口做自动化测试
    API接口自动化之2 处理http请求的返回体,对返回体做校验
    API接口自动化之1 常见的http请求
    DB中字段为null,为空,为空字符串,为空格要怎么过滤取出有效值
    Linux 常用的压缩命令有 gzip 和 zip
    SQL 常用的命令
    JVM内存管理的机制
    Linux 常见命令
  • 原文地址:https://www.cnblogs.com/Hewie/p/3422026.html
Copyright © 2011-2022 走看看