(C)第一個Windows 32 API的視窗程序(

來源:互聯網
上載者:User

標籤:err   menu   loadicon   enter   style   ram   函數   include   zcl   

#include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int ICmdShow) {    static TCHAR szAppName[] = TEXT("windowOfC");    HWND hwnd;//表單控制代碼變數    MSG msg;//訊息變數    WNDCLASS wndclass;//視窗類別變數    //配置視窗類別結構    wndclass.style = CS_HREDRAW | CS_VREDRAW;    wndclass.lpfnWndProc = WndProc;    wndclass.cbClsExtra = 0;    wndclass.cbWndExtra = 0;    wndclass.hInstance = hInstance;    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);    wndclass.hbrBackground = (HBRUSH)COLOR_WINDOW;    wndclass.lpszMenuName = NULL;    wndclass.lpszClassName = szAppName;    //註冊視窗類別    if (!RegisterClass(&wndclass)) {        MessageBox(NULL, TEXT("註冊視窗類別失敗!"), szAppName, MB_ICONERROR);        return 0;    }    hwnd = CreateWindow(szAppName,        TEXT("C語言調用Windows API建立的視窗"),        WS_OVERLAPPEDWINDOW,        CW_USEDEFAULT,        CW_USEDEFAULT,        CW_USEDEFAULT,        CW_USEDEFAULT,        NULL,        NULL,        hInstance,        NULL);    ShowWindow(hwnd, ICmdShow);    UpdateWindow(hwnd);    while (GetMessage(&msg, NULL, 0, 0)) {        TranslateMessage(&msg);        DispatchMessage(&msg);    }    return msg.wParam;};//訊息處理方法,windows作業系統的回呼函數LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {    HDC hdc;    PAINTSTRUCT ps;    RECT rect;    switch (message) {    case WM_CREATE:        MessageBox(NULL, TEXT("建立視窗了!"), NULL, MB_ICONERROR);        return 0;    case WM_PAINT:        hdc = BeginPaint(hwnd, &ps);        GetClientRect(hwnd, &rect);        DrawText(hdc, TEXT("hello C windows "), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);        EndPaint(hwnd, &ps);        return 0;    case WM_DESTROY:        PostQuitMessage(0);        return 0;    }    return DefWindowProc(hwnd, message, wParam, lParam);};

 

(C)第一個Windows 32 API的視窗程序(

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.