程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話+win32api寫窗體運用法式

C說話+win32api寫窗體運用法式

編輯:關於C++

C說話+win32api寫窗體運用法式。本站提示廣大學習愛好者:(C說話+win32api寫窗體運用法式)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話+win32api寫窗體運用法式正文


昨晚看了一下win32api編程的常識,我在網上搜刮了很多教程,一個丑化版的windows編程,代碼訛奪百出,缺字,翻譯難明僵硬,術語不專業,一個windows.c編程,隱約,並且用的是VC++6.0,因為我的電腦裝不上vc++6.0,只能用vs2008,很多操作和函數都不太一樣了。在網上找到一篇博客園的win32api編程的文章,照抄上去,成果編譯上去幾十個毛病……暈逝世了。

後來照樣參照以下四個步調,本身查MSDN用C說話寫出來了,暈逝世,英文欠好,話說,金山詞霸對MSDN的整句翻譯很專業啊。

步調:
1、注冊窗口類;
2、創立窗體;
3、新聞輪回;
4、編寫窗口新聞處置函數。

代碼:

#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("沒法創立窗體"), _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;
    }

就是一個只要題目欄、封閉按鈕、最小化按鈕、最年夜化/復原按鈕、顯示區域的窗體。

用純C寫的,愁悶逝世了,好長啊,win32api超等多宏的,又愛又恨,煩逝世了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved