//设置菜单底部属性 CImageList lst; lst.Create(IDB_STARTPANE_BUTTONS,24,3,RGB(192,192,192)); HICON hIconTurnOff = lst.ExtractIcon(2); m_StartMenu.AppendBottomItem(_T("Turn Off Computer"), 逆风者 ID_BOTTOMBAR_TURNOFFCOMPUTER, 0,MENU_NORMAL,0,hIconTurnOff); HICON hIconLogOff = lst.ExtractIcon(1); m_StartMenu.AppendBottomItem(_T("Log Off"),ID_BOTTOMBAR_LOGOFF, 0,MENU_NORMAL,0,hIconLogOff); //设置菜单底部显的背景图形。 m_StartMenu.GetBottomBarBitmap(0,".\\skin\\1.bmp"); m_StartMenu.GetBottomBarBitmap(1,".\\skin\\2.bmp"); m_StartMenu.GetBottomBarBitmap(2,".\\skin\\3.bmp"); …..
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: 菜单风格定义,其值可为下列值或组合
AppendProgItem(_T(""),0,0,MENU_SEPARATOR,0);
或
AppendPlaceItem(_T(""),0,0,MENU_SEPARATOR,0);
与本功能相同用的函数还有AppendPlaceItem(),用法上完全一样。
2.函数名:SetProgItemBackColor()
功 能:设置菜单列表背景颜色
原型及参数说明:
void SetProgItemBackColor(COLORREF clrLeftTop,
COLORREF clrRightBottom,
bool bValid)
clrLeftTop:左上角的颜色
clrRightBottom:右下角结束处 颜色
bValid:布尔型变量,TRUE,表示立即设置生效。
说明:SetProgItemBackColor()函数的用法及功能与本函是一样的,请参照此用法。
3.函数名:SetItemTextColor(ITEM_TYPE nType,COLORREF clrText)
功 能:设置菜单文本颜色
原型及参数说明:
void SetItemTextColor(ITEM_TYPE nType,COLORREF clrText)
nType :ITEM_TYPE 枚举类型的数参
enum ITEM_TYPE { PROGLIST_TYPE, //指Program 列表菜单 PLACELIST_TYPE, //指Place 列表菜单 BOTTOMBAR_TYPE, //菜单底部 }
clrText:本文的颜色
设置 Program 列表菜单项的文本颜色为 红色的方法如下:
Exp.: SetItemTextColor(PROGLIST_TYPE, RGB(255,0,0));
注意:一般在菜单初始完成后调用该函数来设置菜单项的文本颜色。
4.函数名:GetBottomBarBitmap()
功 能:设置菜单底部背景图象
本文章更多内容:<<上一页 - 1 - 2 - 3 - 下一页>> |