www.pudn.com > SDKSkin.rar > SkinMenu.h
/****************************************************
** Fujitsu Copyright (C) 2006 - 2007
** 功 能: 菜单处理类
** 文件名称: SkinMenu
** 文件基类:
** 扩 展 名: h
** 创建日期: 2006-9-7 10:30
** 作 者: 汪荣
*****************************************************/
#ifndef _SKINMENU_ONCE_
#define _SKINMENU_ONCE_
class SkinMenu
{
public:
SkinMenu();
virtual ~SkinMenu();
LRESULT CALLBACK SkinMenuProc(SKINMSG &skMsg)
{
switch(skMsg._msg)
{
case WM_INITMENU:
break;
case WM_INITMENUPOPUP:
break;
case WM_DRAWITEM:
break;
case WM_MEASUREITEM:
break;
case WM_NCCALCSIZE:
return MenuNcCalcSize(skMsg);
break;
case WM_NCPAINT:
return 1;
break;
case WM_PRINT:
//return 0;
break;
}
return SkinResList::CallDefWndProc(skMsg);
}
LRESULT MenuNcCalcSize(SKINMSG &skMsg)
{
BOOL bCalcValidRects = (BOOL)skMsg._wPm;
if(bCalcValidRects)
{
NCCALCSIZE_PARAMS *lpncsp = (NCCALCSIZE_PARAMS *)skMsg._lPm;
lpncsp->rgrc[0].left += 10;
lpncsp->rgrc[0].top += 20;
lpncsp->rgrc[0].right -= 10;
lpncsp->rgrc[0].bottom -= 10;
}
return 0;
}
};
#endif