编译器MinGW 
         case IDC_BTN4:
        {
            HMENU hmenu= LoadMenu((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),
            MAKEINTRESOURCE(IDR_MENU1));
            RECT rc;
            GetWindowRect(hwnd,&rc);
            TrackPopupMenuEx(hmenu,TPM_LEFTALIGN|TPM_BOTTOMALIGN,rc.left+10,rc.bottom,hwnd,NULL);
            delete(hmenu);
        }break;
点击该按钮之后第一级菜单居然没长度
dlg里
IDR_MENU1 MENUEX
BEGIN
  POPUP "皮肤"
  BEGIN
    MENUITEM "品红",IDM_PINK
    MENUITEM "天蓝",IDM_BLUE
    MENUITEM "纯白",IDM_WHITE
    MENUITEM "草绿",IDM_GREEN
  END
END是不是POPUP "皮肤"后面要加属性呢?还是其他问题?资源编辑器有关么(resed)?PS:图片刷不出来的话给个地址
http://hiphotos.baidu.com/xuddk727/pic/item/5792fd2ba726fe04d52af172.jpeg http://hiphotos.baidu.com/xuddk727/pic/item/5792fd2ba726fe04d52af172.jpeg 
望解答,谢谢

解决方案 »

  1.   

    试了半天 少一句话,晕死,去掉delete(hmenu)HMENU hmenu= LoadMenu((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),
                MAKEINTRESOURCE(IDR_MENU1));
                RECT rc;
                GetWindowRect(hwnd,&rc);
    hmenu=GetSubMenu(hmenu,0);
                TrackPopupMenuEx(hmenu,TPM_LEFTALIGN|TPM_BOTTOMALIGN,rc.left+10,rc.bottom,hwnd,NULL);
      

  2.   

    加了 hmenu=GetSubMenu(hmenu,0); 
    还是不行??
    不能呀 我试过没问题
      

  3.   

    我加的呀,你用的什么IDE啊?是不是和这方面有关?
      

  4.   

    没有关系,我Xp  VC6.0 的又试了 没问题 我的代码HMENU hmenu= LoadMenu((HINSTANCE)GetWindowLong(m_hWnd,GWL_HINSTANCE),
    MAKEINTRESOURCE(IDR_MENU1));
    RECT rc;
    ::GetWindowRect(m_hWnd,&rc);
    hmenu=::GetSubMenu(hmenu,0);
    TrackPopupMenuEx(hmenu,TPM_LEFTALIGN|TPM_BOTTOMALIGN,rc.left+10,rc.bottom,m_hWnd,NULL);
      

  5.   

    TrackPopMenu函数显示的是弹出菜单,
      

  6.   

    楼主不明白一些概念,TrackPopMenu函数显示的是弹出菜单的菜单项
    弹出菜单本身的标题数不会显示出来滴
    POPUP "皮肤" 这个是一个弹出菜单的标题