C語言建立windows視窗執行個體_C 語言

來源:互聯網
上載者:User

耐得住寂寞,禁得起誘惑,這就是程式人生

步驟:
1.在WinMain中定義各種變數
2.註冊視窗類別RegisterClass
3.建立視窗CreateWindow
4.顯示視窗和更新視窗

複製代碼 代碼如下:

ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;

5.訊息迴圈
複製代碼 代碼如下:

while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }

完整代碼:
複製代碼 代碼如下:

#include <windows.h> 
 
LRESULT CALLBACK MyProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam); 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) 

     MSG      msg; 
     HWND     hwnd; 
     static TCHAR szAppName[] = "hl"; 
 
     WNDCLASS wndclass; 
     wndclass.style        = CS_HREDRAW | CS_VREDRAW; 
     wndclass.cbClsExtra   = 0; 
     wndclass.cbWndExtra   = 0; 
     wndclass.lpfnWndProc  = MyProc; 
     wndclass.hInstance    = hInstance; 
     wndclass.hIcon        = LoadIcon(NULL,IDI_APPLICATION); 
     wndclass.hCursor      = LoadCursor(NULL,IDC_ARROW); 
     wndclass.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH); 
     wndclass.lpszMenuName = NULL; 
     wndclass.lpszClassName= szAppName; 
 
     if(!RegisterClass(&wndclass)) 
     { 
          MessageBox(NULL,TEXT("error"),TEXT("title"),MB_ICONERROR); 
          return 0; 
     } 
     hwnd = CreateWindow(szAppName, 
                              TEXT("Hello"), 
                              WS_OVERLAPPEDWINDOW, 
                              CW_USEDEFAULT, 
                              CW_USEDEFAULT, 
                              CW_USEDEFAULT, 
                              CW_USEDEFAULT, 
                              NULL, 
                              NULL, 
                              hInstance, 
                              NULL 
                              ); 
     ShowWindow(hwnd,nShowCmd); 
     UpdateWindow(hwnd); 
 
     while(GetMessage(&msg,hwnd,0,0)) 
     { 
          TranslateMessage(&msg); 
          DispatchMessage(&msg); 
     } 
     return msg.wParam; 

 
LRESULT CALLBACK MyProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) 

 
     switch(message) 
     { 
     case WM_DESTROY: 
          PostQuitMessage(0); 
          return 0; 
     } 
     return DefWindowProc(hwnd,message,wParam,lParam); 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.