zoukankan      html  css  js  c++  java
  • wince sdk(1) 窗体创建

    wince sdk WinMain为函数的入口函数

    #define dim(i) (sizeof(i))/sizeof(i[0])

    struct MsgUnit
    {
       UINT message;
       long (*fun)(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
    };

    int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
    {
     g_hInstance=hInstance;
        WNDCLASS ws;//1创建窗体类
     ws.cbClsExtra=0;
     ws.cbWndExtra=0;
     ws.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH);
     ws.hCursor=NULL;
     ws.hIcon=NULL;
     ws.hInstance=hInstance;
     ws.lpfnWndProc=WndProcAA;
     ws.lpszClassName=TEXT("Hello");
     ws.lpszMenuName=NULL;
     ws.style=CS_VREDRAW|CS_HREDRAW;

     if(!RegisterClass(&ws)) return -1;//2注册窗体类

     HWND hWnd =CreateWindow(TEXT("Hello"),TEXT("myfirst"),WS_VISIBLE | WS_BORDER|WS_CAPTION| WS_MINIMIZEBOX|WS_SYSMENU|WS_MAXIMIZEBOX,20,
      30,200,200,NULL,NULL,hInstance,NULL);//创建窗体
     
     UpdateWindow(hWnd);//更新窗体
     ShowWindow(hWnd,SW_SHOWNORMAL);//显示窗体
        
     MSG msg;

     //获取消息并发送
     while(::GetMessage(&msg,hWnd,0,0))//WM_CLOSE为假
     {
      ::TranslateMessage(&msg);//翻译消息
      ::DispatchMessage(&msg);//传递消息
     }
       return 1;
    }

    在Windows下,return  的实际执行过程是:

    先析构main函数内的局部对象。
    返回至调用main的函数。
    调用exit函数,由exit函数调用doexit函数,在doexit函数中完成对全局对象的析构。
    最后调用ExitProcess结束进程。

    回调函数:

    LRESULT CALLBACK WndProcAA(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
    {
     for(int i=0;i<dim(MsgProcs);i++)
     {
      if(uMsg==MsgProcs[i].message)
      {
       MsgProcs[i].fun(hwnd,uMsg,wParam,lParam);
      }
     }
     return ::DefWindowProc(hwnd,uMsg,wParam,lParam);
    }

  • 相关阅读:
    Canvas API
    Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP
    Lind.DDD.LindMQ~关于持久化到Redis的消息格式
    MongoDB学习笔记~根据子集合里某个属性排序
    大叔最新课程~MVC核心技术剖析
    大叔最新课程~EF核心技术剖析
    hdu4300之KMP&&EKMP
    HDU 2594 Simpsons’ Hidden Talents KMP
    邮箱工具(尚未完成)的几个组件类
    java--折半查找
  • 原文地址:https://www.cnblogs.com/fujinliang/p/2741835.html
Copyright © 2011-2022 走看看