最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言+win32api寫窗體應用程序

 更新時間:2016年02月16日 09:53:52   作者:自來也  
本文給大家分享的是個人使用純C語言結合win32api制作窗體應用程序的代碼,非常的簡單,給需要的小伙伴參考下。

昨晚看了一下win32api編程的知識,我在網(wǎng)上搜索了許多教程,一個美化版的windows編程,代碼錯漏百出,缺字,翻譯難懂生硬,術語不專業(yè),一個windows.c編程,模糊,而且用的是VC++6.0,由于我的電腦裝不上vc++6.0,只能用vs2008,許多操作和函數(shù)都不太一樣了。在網(wǎng)上找到一篇博客園的win32api編程的文章,照抄下來,結果編譯下來幾十個錯誤……暈死了。

后來還是參照以下四個步驟,自己查MSDN用C語言寫出來了,暈死,英文不好,話說,金山詞霸對MSDN的整句翻譯很專業(yè)啊。

步驟:
1、注冊窗口類;
2、創(chuàng)建窗體;
3、消息循環(huán);
4、編寫窗口消息處理函數(shù)。

代碼:

#include <windows.h>
#include<tchar.h>
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow)
{
    WNDCLASS wc;
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = NULL;
    wc.hCursor = LoadCursor(NULL,IDC_ARROW);
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();
    wc.lpszMenuName = NULL;
    wc.lpszClassName = _T("MyWindowClass");
    if (!RegisterClass(&wc))
    {
        MessageBox (NULL, _T("無法注冊窗口類"), _T("錯誤"), MB_OK);
        return 0 ;
    }
    HWND newWindow = CreateWindow(
                                        _T("MyWindowClass"), 
                                        _T("我的第一個winapi程序"), 
                                        WS_OVERLAPPEDWINDOW, 
                                        0, 
                                        0, 
                                        CW_USEDEFAULT, 
                                        CW_USEDEFAULT, 
                                        NULL, 
                                        NULL, 
                                        hInstance, 
                                        NULL
                                    );
    if (NULL == newWindow)
    {
        MessageBox (NULL, _T("無法創(chuàng)建窗體"), _T("錯誤"), MB_OK);
        return 0;
    }
    ShowWindow(newWindow, nCmdShow);
    UpdateWindow(newWindow);
    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}
    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
        switch (uMsg)
        {
            case WM_DESTROY:
            {
                PostQuitMessage(0);
                break;
            }
            default :
                return DefWindowProc(hwnd, uMsg, wParam, lParam);
        }
        return 0;
    }

就是一個只有標題欄、關閉按鈕、最小化按鈕、最大化/還原按鈕、顯示區(qū)域的窗體。

用純C寫的,郁悶死了,好長啊,win32api超級多宏的,又愛又恨,煩死了

相關文章

  • 詳解C++ sort函數(shù)的cmp參數(shù)

    詳解C++ sort函數(shù)的cmp參數(shù)

    這篇文章主要介紹了C++ sort函數(shù)的cmp參數(shù),以升降排序個結構體的排序展開的話題,感興趣的小伙伴可以參考下面文章內(nèi)容
    2021-09-09
  • C語言中函數(shù)棧幀的創(chuàng)建和銷毀的深層分析

    C語言中函數(shù)棧幀的創(chuàng)建和銷毀的深層分析

    在C語言中,每一個正在運行的函數(shù)都有一個棧幀與其對應,棧幀中存儲的是該函數(shù)的返回地址和局部變量。從邏輯上講,棧幀就是一個函數(shù)執(zhí)行的環(huán)境:函數(shù)參數(shù)、函數(shù)的局部變量、函數(shù)執(zhí)行完后返回到哪里等等
    2022-04-04
  • c++多線程為何要使用條件變量詳解

    c++多線程為何要使用條件變量詳解

    多線程是多任務處理的一種特殊形式,下面這篇文章主要給大家介紹了關于c++多線程為何要使用條件變量的相關資料,需要的朋友可以參考下
    2021-06-06
  • C語言多組輸入使用方法

    C語言多組輸入使用方法

    這篇文章主要給大家介紹了關于C語言多組輸入使用的相關資料,在 C語言中可以使用循環(huán)語句來實現(xiàn)多組輸入,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • C++定時器Timer在項目中的使用方法

    C++定時器Timer在項目中的使用方法

    這篇文章主要給大家介紹了關于C++定時器Timer在項目中的基本使用方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C++具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • C++面試基礎之static關鍵字詳解

    C++面試基礎之static關鍵字詳解

    這篇文章主要給大家介紹了關于C++面試基礎之static關鍵字的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • C語言文字藝術之數(shù)據(jù)輸入輸出

    C語言文字藝術之數(shù)據(jù)輸入輸出

    這篇文章主要介紹了C語言文字藝術之數(shù)據(jù)輸入輸出,C語言的語句用來向計算機系統(tǒng)發(fā)出操作指令。一條語句編寫完成經(jīng)過編譯后產(chǎn)生若干條機器指
    2022-07-07
  • C語言二叉樹的遍歷示例介紹

    C語言二叉樹的遍歷示例介紹

    大家好,本篇文章主要講的是C語言二叉樹的遍歷示例介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 基于C++實現(xiàn)俄羅斯方塊游戲的示例代碼

    基于C++實現(xiàn)俄羅斯方塊游戲的示例代碼

    俄羅斯方塊(Tetris)是一款風靡全球的經(jīng)典益智游戲,自1984年首次發(fā)布以來,便吸引了無數(shù)玩家,在這篇博文中,我們將深入探討如何用 C++ 編寫一個簡單的俄羅斯方塊游戲,我們將從游戲的基本概念和設計入手,逐步實現(xiàn)游戲的各個功能模塊,感興趣小伙伴快來看看吧
    2024-11-11
  • C++編程異常處理中try和throw以及catch語句的用法

    C++編程異常處理中try和throw以及catch語句的用法

    這篇文章主要介紹了C++編程異常處理中try和throw以及catch語句的用法,包括對Catch塊的計算方式的介紹,需要的朋友可以參考下
    2016-01-01

最新評論

冀州市| 邓州市| 金昌市| 白河县| 宜章县| 古田县| 巴塘县| 宣城市| 天峻县| 乐亭县| 五河县| 平武县| 淳化县| 清涧县| 临夏县| 如皋市| 莆田市| 乌什县| 敦煌市| 渭源县| 富平县| 定边县| 广东省| 申扎县| 渝北区| 兰考县| 郯城县| 沈丘县| 伊川县| 东辽县| 景宁| 陆河县| 宁陵县| 土默特右旗| 霍州市| 乐亭县| 金川县| 九台市| 仁怀市| 公主岭市| 台中县|