• windows学习笔记1


    #include<Windows.h>//底层实现窗口的头文件

    //程序的入口函数
    //WINAPI 代表__stdcall,参数传递顺序,从右到左依次入栈,并且在函数返回前,清空堆栈

    int WINAPI WinMain(
    HINSTANCE hInstance ,//应用程序的实例句柄
    HINSTANCE hPrevInstance,//上一个应用程序句柄,在win32环境下,参数一般为NULL,不起作用了
    LPSTR lpCndLine ,//char *argv[]
    int nShowCnd)//显示命令,最大化,最小化
    {
    //设计窗口
    //注册窗口
    //创建窗口
    //显示和更新
    //通过循环取消息
    //窗口过程(处理消息)
    WNDCLASS wc;
    wc.cbClsExtra =0;//类的额外内存
    wc.cbWndExtra =0;//窗口额外的内存
    wc.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH); //设置背景
    wc.hCursor = LoadCursor(NULL,IDC_HAND);//设置光标 如果第一个参数为NULL,代表使用系统使用的光标
    wc.hIcon = LoadIcon(NULL,IDI_ERROR);//图标 如果第一个参数为NULL,代表使用系统使用的图标
    wc.hInstance = hInstance;//应用窗口实例句柄 传入window中的形参即可
    //wc.lpfnWndProc = WindowProc; //回调函数,窗口过程
    wc.lpszClassName = TEXT("WIN");//指定窗口类名称
    wc.lpszMenuName = NULL;//菜单名称
    wc.style = 0;//显示风格,0代表默认风格

    //2,注册窗口类
    RegisterClass(&wc);

    //3,创建窗口
    /*
    lpClassName 类名
    lpWindowName 标题名
    dwStyle,WS_OVERLAPPEDWINDOW 风格
    x,显示坐标 CW_USEDEFAULT 默认值
    y,
    nWidth,宽高
    nHeight,
    hWndParent,父窗口 NULL
    hMenu,菜单 NULL
    hInstance,实例句柄hInstance
    lpParam 附加值,鼠标附加值NULL
    */
    CreateWindow(wc.lpszClassName,TEXT("WINDOWS"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);


    //显示和更新
    ShowWindow(hwnd,SW_SHOWNORMAL);
    UpdateWindow(hwnd);

    //通过循环取消息
    /*
    HWND hwnd;主窗口句柄
    UINT messege;具体消息名称
    WPARAN wParam;附加消息 键盘消息
    LPARAN lParam;附加消息,鼠标消息
    DWORD time;消息产生时间
    POINT pt;附加消息 鼠标消息 x y
    */
    MSG msg;


    while(1)
    {
    /*
    _Out_LPMSG lpMsg,消息
    _In_opt_HWND HWnd ,捕获窗口,填NULL代表捕获所有窗口
    _In_UINT wMsgFIlterMin,//最小和最大过滤的消息,一般填入0
    _In_UINT wMsgFIlterMax,//填0代表捕获所有的消息
    */
    if (GetMessage(&msg,NULL,0,0))
    {
    break;
    }


    //不为false
    //分发消息
    DispatchMessage(&msg);

    }

    return 0;

    }

    如有不对之处,请多多读指教
  • 相关阅读:
    [Leetcode] Rotate Image
    [Leetcode] Permutation Sequence
    [Leetcode] Palindrome Partitioning
    [Leetcode] Letter Combinations of a Phone Number
    Java里的多线程
    css学习2----css动态菜单
    css学习1----css超链接效果
    javascript判断身份证是否合法
    RMI(Remote Method Invocation,远程方法调用)
    struts.properties配置详解
  • 原文地址:https://www.cnblogs.com/sunflowers-lanqijiu/p/11762353.html
Copyright © 2020-2023  润新知