zoukankan      html  css  js  c++  java
  • windows mobile 5.0 下创建菜单

    在开发时经常要创建菜单,并且动态显示和隐藏菜单或者是某个子菜单。以下就是实现的方法:

    1。创建并显示菜单
     SHMENUBARINFO mbi;
      ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
      mbi.cbSize=sizeof(SHMENUBARINFO);
      mbi.hwndParent=m_hWnd;
      mbi.hInstRes=::AfxGetInstanceHandle();
      mbi.dwFlags=SHCMBF_HMENU|SHCMBF_HIDESIPBUTTON;//隐藏SIP
      mbi.nToolBarId=IDR_MYMENU;
      SHCreateMenuBar(&mbi);

    2。隐藏菜单
    HWND hwnd=::SHFindMenuBar(m_hWnd);
     if(hwnd!=NULL)
      ::ShowWindow(hwnd,SW_HIDE);

    3。隐藏某个子菜单
     TBBUTTONINFO tbbi = {0};
       tbbi.cbSize = sizeof(TBBUTTONINFO);
       tbbi.dwMask = TBIF_LPARAM | TBIF_BYINDEX;               
       ::SendMessageW(mbi.hwndMB, TB_GETBUTTONINFO,1, (LPARAM)&tbbi); //1为SK1,2为SK2
       g_hMenu = (HMENU)tbbi.lParam;//g_hMenu为全局变量,这样就可以在任何地方隐藏子菜单了

     EnableMenuItem(g_Menu,ID_TEST,MF_GRAYED);//隐藏子菜单
    //显示子菜单 EnableMenuItem(g_Menu,ID_TEST,MF_ENABLED);

    4。使某个SK不可用
    ::SHEnableSoftkey(mbi.hwndMB,0,TRUE,FALSE);
  • 相关阅读:
    bootstrap modal 移除数据
    bootstrap modal 点击头部移动
    js 四舍五入
    js 函数问题
    bootstrap 模态框事件
    Java自定义注解
    JAVA中的System.in
    java 流
    让Mustache支持简单的IF语句
    方法允许多个返回值(.Net Core最新特性,.Net Framework4.7.1版本也有)
  • 原文地址:https://www.cnblogs.com/randylee/p/742054.html
Copyright © 2011-2022 走看看