1如何在自绘菜单中绘制圆角菜单?
 由于我的程序是在WINDOWS MOILE 6.0下运行,所以不支持CRgn::CreateRoundRectRgn函数,请问还有别的什么办法吗?
2如何在菜单被点击之后,在选中的菜单上画图?
  当弹出菜单的某项被点击的时候会弹出一个新的菜单,我想在弹出新菜单的时候同时在弹出菜单做一定的改变,如画一个凹陷的矩形等。
3如何在弹出菜单时以动画的形式弹出?
 用trackpopupmenu弹出菜单的时候效果很一般,我想改变这种效果,比如说让菜单滚动式弹出或者平滑弹出,请问有没有什么方法可以实现。
 
初来咋到,没什么分。希望大家见谅!不胜感激。

解决方案 »

  1.   

    自己顶下。还有个问题,请帮忙看下。
    Hello Everybody,Is it possible to develop an owner drawn menu on WM 5.0 PPC?I have already tried different approaches:- the first one was to set the TBSTYLE_CUSTOMERASE style for the menu buttons in the rc file:
    ID_MAIN_MENU RCDATABEGIN ID_MAIN_MENU, 2, I_IMAGENONE, IDM_EXIT, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE | TBSTYLE_CUSTOMERASE, IDS_EXIT, 0, NOMENU, I_IMAGENONE, ID_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE | TBSTYLE_CUSTOMERASE, IDS_MENU, 0, 0
    END
    Then create the menubar:
    SHMENUBARINFO mbi; memset(&mbi, 0, sizeof(mbi));  mbi.cbSize = sizeof(mbi); mbi.hwndParent = m_hWnd; mbi.dwFlags = SHCMBF_HMENU; mbi.nToolBarId = ID_MAIN_MENU; mbi.hInstRes = _Module.GetResourceInstance()  if(!::SHCreateMenuBar(&mbi))  {  ATLTRACE(_T("Failed to create menu bar.\n"));  EndDialog(IDCANCEL);  return -1;  }
    And try to handle the WM_NOTIFY NM_CUSTOMDRAW message for custom draw:LRESULT CMainDlg::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){ if (NM_CUSTOMDRAW == ((LPNMHDR)&lParam)->code) { LPNMCUSTOMDRAW pCustomDraw((LPNMCUSTOMDRAW)lParam);........................................................................... } return 0;}
    But the required WM_NOTIFY message isn't sent to the parent window...Does anybody have any ideas?- I have also tried CreateToolbarEx to create the menu bar manually and not using Shell, but the same situation: I do not get the NM_CUSTOMDRAW message.
    Thanks in advance for any helpWith regards
      

  2.   

    看看这个
    http://topic.csdn.net/u/20100314/22/6b2a04dc-98d7-4a5c-9ce1-1a2fb715dde2.html?71653
      

  3.   

    http://www.vc180.com/kaifa/jiemian/1944.html