zoukankan      html  css  js  c++  java
  • 一个简单的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;
    }

  • 相关阅读:
    asp.net文件上传
    给图片添加水印效果图的函数(可以在图片上添加自己的版权和LOGO图片的水印)
    DataGrid实现tooltip功能
    DataList编辑、更新、取消、删除、分页(分页控件AspNetPager.dll)
    SQL Server 中千分位格式化输出[转载]
    利用ASP.NET的三种缓存提高站点性能
    带Checkbox的TreeView(一) 完美兼容IE、Firefox ,在js中添加了getCurrentNode(evt)方法,注册方法变为TreeView1.Attributes.Add("onclick", "CheckEvent
    带checkbox的TreeView(二)
    经典blog
    六类UML图
  • 原文地址:https://www.cnblogs.com/lidabo/p/3440893.html
Copyright © 2011-2022 走看看