zoukankan      html  css  js  c++  java
  • 2.菜单

    菜单:

           下拉式菜单:主菜单栏,子菜单栏,子菜单栏中的菜单项和分割条。

            弹出式菜单:一般可通过单击鼠标右箭等显示,只显示子菜单,不显示主菜单。

    热键与快捷键:

    CMenu类:  

             几个主要的成员函数:

             BOOL LoadMenu(UINT nIDResource);

             加载菜单资源,并将其附加到CMenu对象上,参数nIDResource指定了要加载的

             菜单资源的ID。加载成功返回TRUE,否则返回FALSE。

             BOOL DeleteMenu(UINT nPosition,UINT nFlags);

             在菜单中删除一个菜单项,参数nPosition指定要删除的菜单项,参数nFlags来解释

             nPosition的意义:为MF_BYCOMMAND时说明nPositio表示菜单ID,为MF_BYPOSITION

             表示菜单的位置,第一个菜单的位置为0。

            BOOL TrackPopupMenu(UINT nFlags,int x,int y,CWnd* pWnd,LPCRECT lpRect=0);

           用来在指定位置显示一个浮动的弹出式菜单,参数nFlags指定屏幕坐标和鼠标位置的

           标志,可以为如下取值:

     

    TPM_GETTERALIGN 菜单在水平方向上相对于参数x指定的坐标居中显示
    TPM_LEFTALIGN 菜单的左侧与参数x指定的坐标值平齐
    TPM_RIGHTALIGN 菜单的右侧与参数值x指定的坐标值平齐
    TPM_BOTTOMALIGN 菜单的底部与参数y指定的坐标值对齐
    TPM_TOPALIGN 菜单项的顶部与参数y指定的坐标值对齐
    TPM_VCENTERALIGN 菜单在垂直方向上相对于参数y指定的坐标值居中显示

              UINT CheckMenuItem(UINT nIDCheckItem,UINT nCheck);

              在弹出菜单中为菜单增加选中标记或移除选中标记。nIDCheckItem,指定要选中或移除的菜单项。

              参数nCheck指定菜单项的选中状态和如何根据nIDCheckItem确定菜单项的位置,

    MF_BYCOMMAND 为默认值。说明参数nIDCheckItem表示菜单项的ID
    MF_BYPOSITION 说明参数nIDCheckItem表示菜单项的位置,第一个菜单项的位置是0
    MF_CHECKED 为菜单项添加选中标记
    MF_UNCHECKED

    为菜单项移除选中标记

                该参数返回菜单项之前的状态,MF_CHECKED或MF_UNCHECKED如果菜单项不存在则返回0或0xFFFFFFFF。

                UINT EnableMenuItem(UINT nIDEnableItem,UINT nEnable);

                 激活,禁用菜单或使其变灰,参数nEnable选项

    MF_BYCOMMAND 为默认值。说明参数nIDCheckItem表示菜单项的ID
    MF_BYPOSITION 说明参数nIDCheckItem表示菜单项的位置,第一个菜单项的位置是0
    MF_DISABLED 禁用菜单项,使其不能被选择但不变灰
    MF_ENABLED 激活菜单项,使其能够被选择并由变灰状态恢复
    MF_GRAYED 禁用菜单项,使其不能被选择并变灰

                  CMenu* GetSubMenu(int nPos)const;

                 获取弹出菜单的CMenu对象,nPos指定弹出菜单在菜单中的位置,不能使用ID。返回值是CMenu对象的指针

                 该CMenu对象的m_hMenu成员为由nPos指定的弹出菜单的句柄,如果不存在这样的CMenu对象则返回NULL,

                 然后创建一个临时弹出菜单。

    菜单消息:

            菜单主要能发送两种消息:COMMAND消息和UPDATE_COMMAND_UI消息

            COMMAND消息:在菜单项被点击时发送该消息。

            UPDATE_COMMAND_UI消息:用来维护菜单项的各项状态,包括,激活,禁用,变灰,选中,未选中等。

                        在下拉菜单每次打开的时候,所有菜单项的消息都会被发出。如果所属类中为菜单项的该消息添加了

                        处理函数,则执行相应函数为更新菜单状态,如果菜单项没有发送消息处理函数,也没有COMMAND

                        消息的处理函数,它就会变灰。

  • 相关阅读:
    Redis--过期键策略(惰性删除、定期删除)
    Redis--数据库(个数16、键空间、过期字典、过期策略)
    Redis--事件(serverCron)
    ArrayList是如何扩容的?
    Java的四大引用类型
    类加载机制,双亲委派模型及其优点
    GC调优思路
    modcount的作用
    JVM的常见的垃圾收集器
    什么是临界区?如何解决冲突(也就是临界区的调度原则)?
  • 原文地址:https://www.cnblogs.com/zuoyou151/p/9984823.html
Copyright © 2011-2022 走看看