• MFC小结


    Windows应用程序与以往的DOS程序不同,它是以消息为基础、以事件为驱动的应用程序,应用程序在运行时,会不断地等待操作系统发送给自身的消息,利用一个while循环,然后依据不同的消息进行处理。

    接收并且处理消息的主角是窗口,每一个窗口都有一个负责处理消息的函数,通常称之为“窗口函数”或“回调函数”,当窗口获得一个消息时,窗口函数会判断消息的类型,并确定如何处理消息。因此开发人员需要负责设计窗口函数,以实现其预定的功能。

    这里所说的窗口并不单指对话框,按钮,编辑框,组合框等控件也可以称为窗口。

    在Windows应用程序中,句柄是一个非常重要的概念,它起到标识对象的作用,系统的内核对象(进程、线程、事件等)、GDI对象(窗口、图标、光标等)都包含一个句柄,当系统在创建内核对象或GDI对象时会为其分配内存,同时返回这些对象的标识,即句柄。

    此后程序对这些对象进行操作都是通过句柄进行的。

    窗口创建的消息为WM_CREATE

    消息类型:

    一类是系统预定义的消息,一类是用户自定义的消息。

    系统消息由前缀和后缀2部分组成,前缀表示处理该消息的窗口类别,后缀描述消息的内容,

    例如:WM_CLOSE  WM表示处理该消息的窗口为一般窗口, CLOSE表示窗口关闭

    系统消息前缀:

    WM 普通窗口消息

    BM  按钮消息

    CB   组合框消息

    ABM      应用程序桌面工具条消息

    DBT       设备消息

    CBEM    扩展组合框消息

    CDM      通用对话框消息

    DL         下拉列表框消息

    DM         对话框默认的Push按钮消息

    DTM       日期和时间控件消息

    HDM      Header控件消息

    HKM      热键消息

    IPM        IP控件消息

    LB          列表框控件消息

    LVM       列表视图控件消息

    MCM      日历控件消息

    PBM       进度条控件消息

    PGM       Pager控件消息

    PSM       属性标签消息

    RB          伸缩条消息

    SB          状态栏消息

    SBM       滚动条消息

    STM       静态控件消息

    TB          工具条消息

    TBM       跟踪条消息

    TCM       标签控件消息

    TTM       工具提示消息

    TVM       树视图控件消息

    UDM      微调按钮控件消息

    EM         编辑框控件消息

    系统保留了0x0000----0x03ff的消息值,

    用户可以使用0x0400---0x7fff(WM_USER)的消息值。

           为了获得系统范围内唯一的消息字符串,可以调用RegisterWindowMessage函数,向其传递一个消息字符串,该函数会返回一个0XC000---0XFFFF的系统范围内唯一的消息标识符。

    消息循环:

    MSG msg;

    While( GetMessage( &msg, NULL, 0, 0) )

    {

           TranslateMessage( &msg );

           DispatchMessage( &msg );

    }

    程序的进入点:

    WinMain函数

  • 相关阅读:
    uni-app 苹果内购支付及获取苹果支付成功信息
    nginx强制使用https访问(http跳转到https)
    最新IOS审核被拒原因TOP10 | 附带解决方法
    ethercat PREEMPT SMP
    client-go workqueue
    k8s apiserver 重启失败
    cni flannel iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited
    nginx configmap
    golang yaml LoadYAML
    not found: manifest unknown: manifest unknown
  • 原文地址:https://www.cnblogs.com/tao560532/p/2486895.html
Copyright © 2020-2023  润新知