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);
    }

  • 相关阅读:
    使用分析函数进行行列转换
    SQL模糊查询
    Web服務器的配置方法
    oracle基礎知識2
    oracle基礎知識9
    在客户端脚本中获取Session的方法
    推荐litianping的几篇文章,包括owc统计图,rss技术,项目常用类,petshop架构分析
    Asp.net生成工作流、审批流的解决方案(asp.net workflow svg)
    DiscuzNT 1.0正式版推出了
    web.config中的特殊字符串xml中的非法字符串
  • 原文地址:https://www.cnblogs.com/fujinliang/p/2741835.html
Copyright © 2011-2022 走看看