【Desktop technologies】Desktop App UI -- User Interaction

API

#include <windows.h>

//窗口过程
LRESULT CALLBACK WindowProc(HWND hwnd,
    UINT message,
    WPARAM wParam,
    LPARAM lParam)
{
    switch (message)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
}

//Win入口
int CALLBACK WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
{
    TCHAR lpClassName[15] = TEXT("MapleMemory");        //窗口类名
    MSG message;                                        //消息
    HWND hwnd;                                            //窗口句柄
    WNDCLASSEX wincl;                                    //窗口类结构

    //控制界面的分辨率及使其相对于Desktop居中
    unsigned short int cxWindow = 800, cyWindow = 600;//游戏窗口的分辨率(1024 600)
    unsigned short int //游戏窗口居中
        cx = (GetSystemMetrics(SM_CXSCREEN) - cxWindow) / 2,
        cy = (GetSystemMetrics(SM_CYSCREEN) - cyWindow) / 2;

    //初始化窗口类结构
    wincl.cbSize = sizeof(WNDCLASSEX);        //大小
    wincl.style = NULL;                        //style
    wincl.lpfnWndProc = WindowProc;            //窗口过程------------所有交互操作在这上面操作
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;
    wincl.hInstance = hInstance;            //程序句柄
    wincl.hIcon = NULL;                        //图标
    wincl.hCursor = NULL;                    //光标
    wincl.hbrBackground = NULL;                //背景
    wincl.lpszMenuName = NULL;                //菜单名
    wincl.lpszClassName = lpClassName;        //窗口类名
    wincl.hIconSm = NULL;                    //小图标

    //注册窗口类
    RegisterClassEx(&wincl);

    //创建窗口
    hwnd = CreateWindowEx(0,
        lpClassName,                                    //窗口类名
        TEXT("Susake"),                                    //窗口名
        WS_OVERLAPPEDWINDOW,                            //style
        cx, cy,                                            //窗口位置
        cxWindow, cyWindow,                                //窗口分辨率
        HWND_DESKTOP,                                    //父句柄
        NULL,                            
        hInstance,                                        //程序句柄
        NULL);

    //显示窗口
    ShowWindow(hwnd, nCmdShow);
    //跟新窗口
    UpdateWindow(hwnd);

    //消息回圈
    while (GetMessage(&message, NULL, 0, 0))
    {
        TranslateMessage(&message);
        DispatchMessage(&message);
    }

    //取消注册窗口类
    UnregisterClass(lpClassName, hInstance);
    return message.wParam;
}

MFC

 

【Desktop technologies】Desktop App UI -- User Interaction,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。