让你的软件界面更漂亮(五)

http://tech.ddvip.com   2007年09月17日    社区交流

内容摘要:类WindowXp 开始菜单到现在基本上是完美实现,在功能上基本和WindowXp 与Vista 操作系统的开始菜单一样,界面当然漂亮,通过编程能实现风格多样,具有个性化的功能菜单。为了方便使用,本人对其进行了封装,库名曰:完美类WindowXp 开始菜单。

   e. 显示菜单方法

    //空口中在某点(x,y)处显示,作为m_hWnd 的子窗口
     m_StartMenu.TrackPopPane(point.x, point.y, m_hWnd, 0);

   f. 响应菜单菜单命令

  在用AppendPlaceItem()或AppendProgItem()、AppendBottomItem()添加菜单子项时它们第二个参数为菜单项的ID。在响应每个子项mouse 单击事件时,会向菜单其父窗口发送WM_COMMAND 消息,

::SendMessage(m_hWndParent,WM_COMMAND,m_pCurrentItem->uID,0)所以只要在主窗口为每个菜单项映谢消息ON_COMMAND 的函数函行了,方法是在cpp 文件中找到消息息映射处( 在BEGIN_MESSAGE_MAP(CWindowsXPMenuDlg,

  CDialog) 和END_MESSAGE_MAP()之间)。添加如下代码:

ON_COMMAND(ID_MENUITEM,OnFunc)

  在.h 头文件对OnFunc()函数声明为消息函数:

afx_msg void OnFunc();

  在OnFunc()函数中实现菜单项的命令的功能

  二.主要功能接口函数的说明

  1.函数名:AppendProgItem()

   功能:添加主程序功能菜单项

   原型及参数说明:

void AppendProgItem(LPCTSTR szItemName,
        UINT uID,
        ULONG ulData,
        UINT uFlags,
        UINT uIconResID,
        HICON hIcon = NULL,
        LPCSTR szTooltip=_T(""),
        CYisongStartMenu* pSubMenu = NULL);
szItemName:菜单项文本标题

  uID:菜单项ID 标识

  ulData: 保留

  uFlags: 菜单风格定义,其值可为下列值或组合

来源:vckbase    作者:朱一松    责编:豆豆技术应用

正在加载评论...