色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          hello world 程序優(yōu)化

          作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          這樣使添加處理消息函數(shù)變得簡單

          本文引用地址:http://cafeforensic.com/article/201609/303403.htm

          步驟1: 頭文件中添加相關(guān)項(xiàng)

          步驟2: cpp添加具體實(shí)現(xiàn)方法

          步驟3: 結(jié)構(gòu)體數(shù)組中添加相關(guān)項(xiàng)

          .h 文件:

          struct DecodeUint{

          UINT meesage;

          LONG (*fun)(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

          };

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

          LONG OnDestory(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

          LONG OnPaint(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

          .c文件:

          #include

          #include Border.h

          struct DecodeUint MainMessageProc[] = {

          WM_DESTROY,OnDestory,

          WM_PAINT,OnPaint,

          };

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

          int WinMain(HINSTANCE hInstance,

          HINSTANCE hPrevInstance,

          LPTSTR lpCmdLine,

          int nCmdShow)

          {

          WNDCLASS wc;

          wc.cbClsExtra = 0;

          wc.cbWndExtra = 0;

          wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);

          wc.hCursor = NULL;

          wc.hIcon = NULL;

          wc.hInstance = hInstance;

          wc.lpfnWndProc = WndProc;

          wc.lpszClassName = TEXT(hello);

          wc.lpszMenuName = NULL;

          wc.style = CS_HREDRAW | CS_VREDRAW;

          if (!RegisterClass(wc)) return -1;

          HWND hWnd = CreateWindow(TEXT(hello),TEXT(helloworld), WS_VISIBLE | WS_BORDER | WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_CAPTION,

          10,10,320,240,NULL,NULL,hInstance,NULL);

          UpdateWindow(hWnd);

          ShowWindow(hWnd,nCmdShow);

          MSG msg;

          while (GetMessage(msg, NULL, 0, 0))

          {

          TranslateMessage(msg);

          DispatchMessage(msg);

          }

          return 1;

          }

          LONG OnDestory(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

          {

          PostQuitMessage(1);

          return TRUE;

          }

          LONG OnPaint(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

          {

          PAINTSTRUCT ps;

          HDC hdc;

          RECT rect;

          GetClientRect(hWnd,rect);

          hdc = BeginPaint(hWnd,ps);

          DrawText(hdc,TEXT(hello world),-1,rect,DT_VCENTER | DT_CENTER);

          EndPaint(hWnd,ps);

          return TRUE;

          }

          LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

          {

          for (int i = 0;i dim(MainMessageProc); i++)

          {

          if (MainMessageProc[i].meesage == message)

          {

          (*MainMessageProc[i].fun)(hWnd,message,wParam,lParam);

          }

          }

          return DefWindowProc(hWnd,message,wParam,lParam);

          }



          關(guān)鍵詞: WinCE

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉