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