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

C語言+win32api寫窗體應(yīng)用程序

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

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

后來還是參照以下四個(gè)步驟,自己查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("錯(cuò)誤"), MB_OK);
        return 0 ;
    }
    HWND newWindow = CreateWindow(
                                        _T("MyWindowClass"), 
                                        _T("我的第一個(gè)winapi程序"), 
                                        WS_OVERLAPPEDWINDOW, 
                                        0, 
                                        0, 
                                        CW_USEDEFAULT, 
                                        CW_USEDEFAULT, 
                                        NULL, 
                                        NULL, 
                                        hInstance, 
                                        NULL
                                    );
    if (NULL == newWindow)
    {
        MessageBox (NULL, _T("無法創(chuàng)建窗體"), _T("錯(cuò)誤"), 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;
    }

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

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

相關(guān)文章

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

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

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

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

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

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

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

    C語言多組輸入使用方法

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

    C++定時(shí)器Timer在項(xiàng)目中的使用方法

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

    C++面試基礎(chǔ)之static關(guān)鍵字詳解

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

    C語言文字藝術(shù)之?dāng)?shù)據(jù)輸入輸出

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

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

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

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

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

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

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

最新評論

囊谦县| 龙州县| 保山市| 衡阳县| 乃东县| 华阴市| 大渡口区| 武乡县| 鞍山市| 登封市| 肥乡县| 云南省| 根河市| 油尖旺区| 广东省| 九江县| 徐闻县| 达拉特旗| 浠水县| 中阳县| 太康县| 孟连| 泸水县| 清丰县| 翼城县| 博爱县| 石棉县| 屯门区| 长宁区| 防城港市| 姚安县| 平罗县| 宜良县| 铜陵市| 长海县| 江源县| 辽宁省| 分宜县| 霸州市| 方山县| 镶黄旗|