Dev C++编写的Windows窗口Hello,World程序

#include 
#include 
 
/* 使类名成为全局变量 */
TCHAR szClassName[ ] = TEXT("WindowsApp");
 
/* 这个函数由Windows函数DispatchMessage()调用 */
LRESULT CALLBACK WindowProcedure (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 ("Hello World!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
        EndPaint (hWnd, &ps) ;
        break ;
    case WM_DESTROY:
        PostQuitMessage (0);       /* 发送WM_QUIT到消息队列 */
        break;
    default:                      /* 不想处理的消息 */
        return DefWindowProc (hWnd, message, wParam, lParam);
    }
    return 0;
}
 
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
    HWND hwnd;               /* 窗口的句柄 */
    MSG messages;            /* 用于储存应用程序的消息 */
    WNDCLASSEX wincl;        /* 窗口类的数据结构 */
    /* 窗口结构 */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* 被Windows调用的函数 */
    wincl.style = CS_DBLCLKS;                 /* 捕获双击事件 */
    wincl.cbSize = sizeof (WNDCLASSEX);
    /* 使用默认的图表和鼠标指针 */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* 没有菜单 */
    wincl.cbClsExtra = 0;                      /* 窗口类后面没有额外的字节 */
    wincl.cbWndExtra = 0;                      /* 窗口实例化结构 */
    /* 使用Windows的默认颜色作为窗口的背景色 */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
    /* 注册窗口类,如果失败,退出程序 */
    if (!RegisterClassEx (&wincl))
    return 0;
    /* 如果类被注册,创建窗口 */
    hwnd = CreateWindowEx (
        0,                   /* 扩展的变化信息 */
        szClassName,         /* 类名 */
        TEXT("Windows App"),       /* 标题栏文本 */
        WS_OVERLAPPEDWINDOW, /* 默认窗口 */
        CW_USEDEFAULT,       /* 使用默认的位置 */
        CW_USEDEFAULT,       /* 使用默认的位置 */
        544,                 /* 窗口宽度(以像素点为单位) */
        375,                 /* 窗口高度(以像素点为单位) */
        HWND_DESKTOP,        /* 此窗口是桌面的字窗口 */
        NULL,                /* 没有菜单 */
        hThisInstance,       /* 程序实例化句柄 */
        NULL                 /* 没有创建数据的窗口 */
    );
    /* 显示窗口 */
    ShowWindow (hwnd, nFunsterStil);
    /* 运行消息循环。它将在GetMessage()返回零的时候退出 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* 把虚拟按键消息翻译成字符消息 */
        TranslateMessage(&messages);
        /* 把消息发送到WindowProcedure函数 */
        DispatchMessage(&messages);
    }
    /* 程序的返回值,由PostQuitMessage()提供。 */
    return messages.wParam;
}

Dev C++编写的Windows窗口Hello,World程序_第1张图片

你可能感兴趣的:(C/C++,MOOC清华面向对象,Windows编程,MOOC清华可视化编程)