Windows API实现最最简单的窗口程序

来源:互联网 发布:新疆为什么网络管制 编辑:程序博客网 时间:2024/05/21 06:19



  弹出消息框:

#include <windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,                    PSTR szCmdLine, int iCmdShow){MessageBox (NULL, TEXT ("Hell World"), TEXT ("HelloMsg"), 0) ;return 0 ;}



简单的window 窗口 :

#include <windows.h>#include <stdio.h>//自定义消息循环相应函数LRESULT CALLBACK myWndProc(HWND hWnd,                                  UINT Msg,                                  WPARAM wParam,                                  LPARAM lParam){        switch (Msg)        {        case WM_CLOSE:                if(MessageBox(hWnd,"你要关闭窗口吗?","提示!",MB_OKCANCEL) == IDOK)                        DestroyWindow(hWnd);                break;        case WM_DESTROY:                PostQuitMessage(0);                break;        default:                return DefWindowProc(hWnd,Msg,wParam,lParam);        }        return 0;}//主函数int WINAPI WinMain(                                   HINSTANCE hInstance,                                   HINSTANCE hPrevInstance,                                   LPSTR lpCmdLine,                                   int nShowCmd){        WNDCLASS wndcls;        wndcls.cbClsExtra = 0;        wndcls.cbWndExtra = 0;        wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_PEN);        wndcls.hCursor = LoadCursor(NULL,IDC_ARROW);        wndcls.hIcon = LoadIcon(NULL,IDI_APPLICATION);        wndcls.hInstance = hInstance;        wndcls.lpfnWndProc = myWndProc;        wndcls.lpszClassName = "haoge";        wndcls.lpszMenuName = NULL;        wndcls.style = CS_HREDRAW | CS_VREDRAW;    /*  WNDCLASS结构体也可以用{}的形式初始化WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,hInst, NULL, NULL, NULL, NULL,"AppClass", NULL };*/                RegisterClass(&wndcls);                HWND hWnd = CreateWindow("haoge","豪哥",WS_OVERLAPPEDWINDOW                | WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,                CW_USEDEFAULT,NULL,NULL,hInstance,NULL);        //消息循环        MSG Msg;        while(GetMessage(&Msg,hWnd,NULL,NULL))        {                TranslateMessage(&Msg);                DispatchMessage(&Msg);        }        return 0;}



#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("Hello, TopSage.com");        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) GetStockObject (WHITE_BRUSH);        wndclass.lpszMenuName  = NULL;        wndclass.lpszClassName = szAppName;        if (!RegisterClass(&wndclass))        {                MessageBox (NULL, TEXT("Windows NT以上Windows版本运行"),                         szAppName, MB_ICONERROR);                return 0;        }        hwnd = CreateWindow(szAppName,                TEXT("TopSage.com"),                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;}LRESULT CALLBACK WndProc(HWND hwnd, UINT message,        WPARAM wParam, LPARAM lParam){        HDC         hdc;        PAINTSTRUCT ps;        RECT        rect;        switch (message)        {        case WM_PAINT:                hdc = BeginPaint(hwnd, &ps);                GetClientRect(hwnd, &rect);                DrawText(hdc, TEXT ("大家网,大家的网上学习家园!"), -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);}




原创粉丝点击