• 一个简单的win32窗口


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

    LRESULT CALLBACK WinSunProc(
      HWND hwnd,      // handle to window
      UINT uMsg,      // message identifier
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    );

    int WINAPI WinMain(
      HINSTANCE hInstance,      // handle to current instance
      HINSTANCE hPrevInstance,  // handle to previous instance
      LPSTR lpCmdLine,          // command line
      int nCmdShow              // show state
    )
    {
     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="Weixin2003";
     wndcls.lpszMenuName=NULL;
     wndcls.style=CS_HREDRAW | CS_VREDRAW;
     RegisterClass(&wndcls);

     HWND hwnd;
     hwnd=CreateWindow("Weixin2003","北京维新科学技术培训中心",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,      // handle to window
      UINT uMsg,      // message identifier
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    )
    {
     switch(uMsg)
     {
     case WM_CHAR:
      char szChar[20];
      sprintf(szChar,"char is %d",wParam);
      MessageBox(hwnd,szChar,"weixin",0);
      break;
     case WM_LBUTTONDOWN:
      MessageBox(hwnd,"mouse clicked","weixin",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,"是否真的结束?","weixin",MB_YESNO))
      {
       DestroyWindow(hwnd);
      }
      break;
     case WM_DESTROY:
      PostQuitMessage(0);
      break;
     default:
      return DefWindowProc(hwnd,uMsg,wParam,lParam);
     }
     return 0;
    }

  • 相关阅读:
    依靠MySQL(frm、MYD、MYI)数据文件恢复
    Centos7.4.1708安装Jumpserver
    Ubuntu16.04安装vmware pro 15激活码
    AIX系统命令
    virtualbox迁移虚拟机
    RedHat Enterprise7 搭建ISCSI
    RedHat Enterprise7 修改为CentOS的yum源
    关于Server2008 R2日志的查看
    Centos7.4.1708搭建syslog服务
    ElasticSearch第四步-查询详解
  • 原文地址:https://www.cnblogs.com/lidabo/p/3440893.html
Copyright © 2020-2023  润新知