zoukankan      html  css  js  c++  java
  • windows程序设计 显示一个窗口

    #include <windows.h>
    
    HINSTANCE hinst;
    
    LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);
    
    int WINAPI WinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPSTR lpCmdLine,
                       int nCmdShow)
    {
        static TCHAR szClassName[] = TEXT("MainWClass");
        WNDCLASSEX wcx;//窗口类
        HWND hwnd;//窗口句柄
        MSG msg;//消息
        hinst = hInstance;//应用程序实例句柄,保存为全局变量。
    
        //填充窗口类的数据结构
        wcx.cbSize = sizeof(wcx);//结构体大小
        wcx.style = CS_HREDRAW | CS_VREDRAW;//样式:窗口大小改变时重绘界面
        wcx.lpfnWndProc = MainWndProc;//窗口消息处理函数
        wcx.cbClsExtra = 0;//不使用类内存
        wcx.cbWndExtra = 0;//不使用窗口内存
        wcx.hInstance = hInstance;//所属的应用程序实例句柄
        wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);//图标:默认
        wcx.hCursor = LoadCursor(NULL, IDC_ARROW);//光标:默认
        wcx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//背景:白色
        wcx.lpszMenuName = NULL;//菜单:不使用
        wcx.lpszClassName = szClassName;//窗口类名
        wcx.hIconSm = (HICON)LoadImage(hInstance,
            MAKEINTRESOURCE(5),
            IMAGE_ICON,
            GetSystemMetrics(SM_CXSMICON),
            GetSystemMetrics(SM_CYSMICON),
            LR_DEFAULTCOLOR);//小图标
    
        //注册窗口
        if(!RegisterClassEx(&wcx))
        {
            return 1;
        }
    
        //创建窗口
        hwnd = CreateWindow(
            szClassName,//窗口名
            TEXT("BASE"),//窗口标题
            WS_OVERLAPPEDWINDOW,//窗口样式
            CW_USEDEFAULT,//水平位置X:默认
            CW_USEDEFAULT,//垂直位置Y:默认
            CW_USEDEFAULT,//宽度:默认
            CW_USEDEFAULT,//高度:默认
            NULL,//父窗口:无
            NULL,//菜单:使用窗口类的菜单
            hInstance,//应用程序实例句柄
            NULL//窗口创建时数据:无
            );
    
        if(!hwnd)
        {
            return 1;
        }
    
        //显示窗口
        ShowWindow(hwnd, nCmdShow);
        UpdateWindow(hwnd);
    
        //消息循环
        while(GetMessage(&msg, NULL, 0, 0))
        {
            TranslateMessage(&msg);//翻译消息
            DispatchMessage(&msg);//分发消息
        }
    
        return 0;
    }
    
    LRESULT CALLBACK MainWndProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
    {
        switch(umsg)
        {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        }
        return DefWindowProc(hwnd, umsg, wParam, lParam);
    }
  • 相关阅读:
    stream to byte[], byte[] to srting
    内容输出为每行的字符串的方法
    .net面式题
    .net多站点通过StateServer实现session共享
    .net 数据绑定gridview 和Repeater 序号,Container.ItemIndex
    js实现table用鼠标改变td的宽度,固定table宽度和高度超过显示点
    .aspx、MasterPage、.ascx加载顺序
    IIS删除http header信息如Server, X-Powered-By, 和X-AspNet-Version
    基于Asp.net C#实现HTML转图片(网页快照)
    js获取页面宽度高度及屏幕分辨率
  • 原文地址:https://www.cnblogs.com/xuqiulin/p/10171927.html
Copyright © 2011-2022 走看看