zoukankan      html  css  js  c++  java
  • VC++深入详解-第一章学习心得(一)

    句柄是系统为资源分配内存的标识号。 相当于一个指针指向一块内存空间,我暂时理解成一个地址,一个门牌号

    HWND 窗口句柄

    HICON 图标句柄

    HCURSOR 光标句柄

    HBRUSH 画刷句柄

    消息的结构体如下

    /*
     * Message structure
     */
    typedef struct tagMSG {
        HWND        hwnd;	//窗口句柄,用来标识窗口,指明这个消息是发给哪个窗口的
        UINT        message;	//消息标示符,方便记忆定义为WM_XXX的形式(windows message)如WM_LBUTTONDOWN表示鼠标左键按下	
        WPARAM      wParam;	//指定消息的附加信息也就是上述的message的附加信息
        LPARAM      lParam;	//同上,消息的附加信息
        DWORD       time;	//消息投递到队列中的时间
        POINT       pt;	//鼠标当前位置
    #ifdef _MAC
        DWORD       lPrivate;
    #endif
    } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

    消息分为进队消息和不进队消息,最终都被窗口过程函数处理。

    WinMain是程序入口,结构如下:

    WinMain(
        HINSTANCE hInstance,		//程序当前运行的实例的句柄(一个应用程序可以有多个实例,每运行一个实例就分配一个唯一的句柄值)
        HINSTANCE hPrevInstance,	//当前实例的句柄的前一个句柄,Win32状态下都为NULL
        LPSTR lpCmdLine,		//指定传递给应用程序的命令参数
        int nShowCmd			//指定应用窗口的显示情况(大小之类)
        );

    窗体类的结构体

    typedef struct tagWNDCLASSW {
        UINT        style;		//窗口样式 如CS_NOCLOSE 表示禁用系统菜单的关闭按钮
        WNDPROC     lpfnWndProc;	//函数指针,指向窗口过程函数
        int         cbClsExtra;		//表示附加窗口类内存空间,一般为0
        int         cbWndExtra;		//表示附加窗口内存空间,一般为0
        HINSTANCE   hInstance;		//窗口过程的程序的实例句柄
        HICON       hIcon;		//窗口类的图标句柄,LoadIcon加载
        HCURSOR     hCursor;		//窗口类的光标句柄,LoadCursor加载
        HBRUSH      hbrBackground;	//窗口类的背景画刷句柄,GetStockObject获取,获取后需要进行转换(HBRUSH)
        LPCWSTR     lpszMenuName;	//指定菜单资源的名字
        LPCWSTR     lpszClassName;	//指定窗体类的名字
    } WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;



    窗体类创建完成之后需要进行注册:RegisterClass(&wndcls);

    注册完毕后就能创建窗口了。

    由于时间问题,具体如何实现明天继续写~

  • 相关阅读:
    洛谷P1043数字游戏
    luogu P1330 封锁阳光大学
    luoguP1242 新汉诺塔
    luogu P1892 [BOI2003]团伙
    luogu P3375 【模板】KMP字符串匹配
    luoguP1440 求m区间内的最小值
    luoguP2700 逐个击破
    luoguP2814 家谱
    luogu P1962 斐波那契数列
    P3379 【模板】最近公共祖先(LCA)
  • 原文地址:https://www.cnblogs.com/riskyer/p/3228779.html
Copyright © 2011-2022 走看看