********************************************
*
*  Product:Popup Menu Class
*  Version:
*  Country: China
*  Author by: ʩ
*  Create date: 2008.05.29
*  Last update: 2008.06.06
* Email 
* Test environment: Win2000 Advanced Server, WinXP Home
*                   Chinese version of VFP9SP2
********************************************
***
*** ȷʵҲǳϲͨϻԱ⣬еõο, лл
***
*** ˺
*** йУ 9558 8014 0810 5404 077 
*** йУ 4367 4218 3350 0044 031 
*** ˣʩ
***
*** ޣֻŬϿɡ
***
*** ǵַhttp://xykjsoft.blog.163.com
***


*--
*-- дĿ
*--
Vfp ˵ڵرǵڹϵͳҪõ˵ʱ Vfp ƣЧǿ⡣Ϊ˴һ󻯵Ŀݲ˵࣬Ҹÿݲ˵пɸıӦϵͳ

1. ֧ BMP  ICO Ϊ˵ͼ
2. ֧ Msk ļǿҽʹã BMP ͼƬȡ 0, 0 Ϊ͸㳢͸
3. ָλãѡʹþָ꣬ĳһꡣָĻ
4. ָһڱ֤öӵ£ЧΧڵ˵˳ֱǣϡ¡ҡ

*--
*-- Խ
*-- 
1. vfp Ĳ˵ʹ PictRes _med_pasterҪʵ֣
2. ֪˫굯λòȷ޻ԡ
3. Ԥ˵ A Ԥ˵ B ʱ B ˵ݷ仯ʱA ˵仯 A ˵ʹԤ塣

*** Ҫ˵
1.  _Screen һֵֵͬΪ .T.ĳҲõͬԣ PopMenu Ϊơ
2. ܻҪ _Screen  oRefIcons ĶĳҲõͬԣ PopMenu.Init 滻ơ
3: ԤĶ˵һ

*--
*-- ʷ£
*--
2008-06-29
Fix4-1: Ի˵ûзʼ⡣

2008-06-13
Add4-1: ԤĲ˵Ըصÿζ¹졣

2008-06-07
Add3-1: ɽԤĲ˵һ
Add3-2: ֵָ nInde, cKey, cTitle Ŀ

Fix3-1: ޸ Show ˵ѡ񷵻ֵΪ NULL
Fix3-2: ޸ĵ Add  AddItem 󣬷ֵΪĿ

2008-06-06
Add2-1: Ϊ VFP9 ϡ
Add2-2:  Add ʹø÷ԶӲ˵Add  AddItem ظĿSetPicture  SetMesssage ʱ

2008-06-05
Add1-1:  AddItem  tlEnabled Ϊ tvEnabledַͱʽĶʹƵĿݲ˵ԤȶΪһ˵󣬶ڸҪĵط Show ɡл Mihu 

*--
*-- ˵
*--
PopMenu			ݲ˵󣬿Ϊʵ NewObject á
_MenuInfo		ݲ˵Ŀ󣬶˵Ŀʱ߷ʱش˶
IconCollection 	ͼ󣬹 PopMenu ʹͼꡣ

*--
*-- _MenuInfo ɶд˵
*--
cKey = ""
	ַͣ (ɶд)
	˵˵Ŀ KeyֵÿʵʱΨһġ

cParentKey = ""
	ַͣ (ɶд)
	˵˵Ŀ Key
nIndex = 0
	ֵͣ (ɶд)
	˵˳Ĭ˳š

cTitle= ""
	ַͣ (ɶд)
	˵Ŀʾı

cCommand = ""
	ַͣ (ɶд)
	˵ѡ˲˵Ҫִؼ
	
cEnabled = ""
	ַͣ (ɶд)
	˵Enabled ʽÿһβ˵ǰᵥ㡣

cPicture = ""
	ַͣ (ɶд)
	˵ͼļ

cMessage = ""
	ַͣ (ɶд)
	˵ƶ״̬ҪʾϢʾ
nHeight	= -1
	ֵͣ (ɶд)
	˵Ŀ͸߶ȣĬȡ PopMenu.nItemHeight

nWidth = -1
	ֵͣ (ɶд)
	˵ĿͿȣĬȡ PopMenu.nItemWidth
	
nFlags = 0
	ֵͣ (ɶд)
	˵Զ uFlags ֵο Win32Api е AppendMenu ˵

*--
*-- _MenuInfo ֻ˵
*--
cTitle = ?
	ַͣ (ֻ)
	˵ʽĿʾı

hMenu = ?
	ֵͣ (ֻ)
	˵Ŀ˵ĸ˵

hMenu = ?
	ֵͣ (ֻ)
	˵ĿӲ˵
	
nAddress = ?
	ֵͣ (ֻ)
	˵ָĿַ

hPic = ?
	ֵͣ (ֻ)
	˵ͼ

hMsk = ?
	ֵͣ (ֻ)
	˵ͼ

*--
*-- PopMenu ɶд˵
*--
lOwnerDraw = .F.
	ͣ߼ (ɶд)
	˵ǷʹԶ˵֮Ϊϵͳ˵ֵΪ .T. ʱԷЧ
	ȡֵΧ.T. Or .F.

lShareIcons = .T.
	ͣ߼ (ɶд)
	˵Ƿͼ⣬ֵΪ .T.ȡͼظʹֱ˳ӦóֵΪ .F.ÿһʵᴴԼͼ⡣
	ȡֵΧ.T. Or .F.

nMenuBackColor = -1
	ֵͣ (ɶд)
	˵ò˵ıɫ
	ȡֵΧRgb(0,0,0)  Rgb(255,255,255)

nItemHeight = -1
	ֵͣ (ɶд)
	˵Ĭϲ˵ĸ߶ȣֵһΣ AddItem ôֵϣÿһ˵߶ȶͬôҪÿһ AddItem ֮ǰôֵ
	ȡֵΧ 0

nItemWidth = -1
	ֵͣ (ɶд)
	˵Ĭϲ˵Ŀȣͬ nItemHeight
	Χ 0

nBarStyle = 0
	ֵͣ (ɶд)
	˵˵ʾʽ
	ȡֵΧ0 = ޣ1 = ʵɫ䣬2 = ˮƽɫ3 = ֱ

nBarWidth = 19
	ֵͣ (ɶд)
	˵˵Ŀ
	ֵΧ 0.

nBarFillColor1 = -1
	ֵͣ (ɶд)
	˵˵ɫ򽥱ɫʼɫ
	ȡֵΧ Rgb(0,0,0)  Rgb(255,255,255)

nBarFillColor2 = -1
	ֵͣ (ɶд)
	˵˵ɫĽɫ
	ȡֵΧ Rgb(0,0,0)  Rgb(255,255,255)

nImageLeft = 0
	ֵͣ (ɶд)
	˵ͼ߾
	ȡֵΧ+/- ֵ

nTextLeft = 20
	ֵͣ (ɶд)
	˵ı߾
	ȡֵΧ+/- ֵ

nTextMargin = 2
	ֵͣ (ɶд)
	˵ıֵֵ
	ȡֵΧ+/- ֵ

nSelectedStyle = 0
	ֵͣ (ɶд)
	˵ƶ˵ʱѡʽ
	ȡֵΧ0 = ϵͳĬ, 1 = οѡ, 2 = Բѡ, 3 = ͹ѡ,4 = ѡ
	ע 1ֵΪ 1  2ûָ߿ɫϵͳĸɫΪ߿ɫΪɫ˵ɫ 80% ɫ
	ע 2ֵΪ 3  4δָ߿ɫϵͳĸɫΪ߿ɫδָɫΪ͸

nSelectedRoundX = 12
	ֵͣ (ɶд)
	˵ԲѡԲǿ
	ȡֵΧ0  100

nSelectedRoundY = 12
	ֵͣ (ɶд)
	˵ԲѡԲǸ߶
	ȡֵΧ0  100

lSelectedEnabled = .F.
	ͣ߼ (ɶд)
	˵Ƿ񲻶ʧЧĲ˵ѡʽ
	ȡֵΧ.F. Or .T.

nSelectedBorderColor = -1
	ֵͣ (ɶд)
	˵ѡı߿ɫ nSelectedStyle Ϊ 1  2 ʱ
	ȡֵΧRgb(0,0,0)  Rgb(255,255,255)

nSelectedBackColor = -1
	ֵͣ (ɶд)
	˵ѡıɫ
	ȡֵΧRgb(0,0,0)  Rgb(255,255,255)

nSelectedForeColor = -1
	ֵͣ (ɶд)
	˵ѡǰɫ
	ȡֵΧRgb(0,0,0)  Rgb(255,255,255)

nSelectImageStyle = 0
	ֵͣ (ɶд)
	˵ѡͼѡʽ
	ȡֵΧͬ nSelectStyle 
	ע 1ͬ nSelectSyle 
	ע 2ͬ nSelectSyle 

nReturn = 0
	ֵͣ (ɶд)
	˵ѡĿ󣬷غֽ
	ȡֵΧ0 = nIndex, 1 = cKey, 2 = cTitle, 3 = _MenuInfo

*--
*-- PopMenu (ֻ) ˵
*--
nMaxLen = ?
	ֵͣ (ֻ)
	ֵ壺˵ִȣԴΪ˵Ŀڴ

nMenuWidth = ?
	ֵͣ (ֻ)
	ֵ壺˵Ŀ

nMenuHeight = ?
	ֵͣ (ֻ)
	ֵ壺˵ĸ߶

ClassLibrary = ?
	ַͣ (ֻ)
	ֵ壺 PopMenu ｫ PopMenu ԭʼ·

hMenu = ?
	ֵͣ (ֻ)
	ֵ壺˵

hHwnd = ?
	ֵͣ (ֻ)
	ֵ壺

oItems = ?
	ͣ (ֻ)
	ֵ壺ǰ˵Ĳ˵Ŀ

oCollections = ?
	ͣ (ֻ)
	ֵ壺϶˵Ŀ

oRefIcons = ?
	ͣ (ֻ)
	ֵ壺ָͼ

pProc = ?
	ֵͣ (ֻ)
	ֵ壺ص̵ַ

*--
*-- PopMenu ˵
*--
Add(tvParentKey, tcKey, tcCaption[, tcCommand[, tvEnabled[, tnAddFlag]]])
	˵ӿɴӲ˵ݲ˵
	
		tvParentKey	 Key
		tcKey		˵ Id
		tcCaption	˵⣬ "\<[A-Z]" ΪǷʼջ "\-" ΪǷָ
		tcCommand 	˵ִ
		tvEnabled 	˵ Enalbed ״̬߼ֵ߼ͱʽ
		tnAddFlag	AppendMenu ʶ Win32api.H
	ֵ_MenInfo 

AddItem(tcCaption[, tcCommand[, tlEnabled[, tnAddFlag]]])
	˵һݲ˵
	
		tcCaption	˵⣬ "\<[A-Z]" ΪǷʼջ "\-" ΪǷָ
		tcCommand	˵
		tlEnabled	˵ Enabled ״̬
		tnAddFlag	AppendMenu ʶ Win32api.H
	ֵ_MenInfo 

SetPicture(tcPicFile[, tnOrder])
	˵һͼ
	
		tcPicFile	ͼļ
		[tnOrder]	ͼڵĲ˵ȱʡָһӵĲ˵
	ֵ

SetMessage(tcMessage[, tnOrder])
	˵״̬Ϣʾ
	
		tcMessage	״̬Ϣı
		[tnOrder]	ͼڵĲ˵ȱʡָһӵĲ˵
	ֵ

Show([tnX[, tnY[, tlAbsolute[, tuFlags]]]])
	˵ʾ˵
	
		[tnX, tnY]	λõ x, y ֵδָȡλ
		tlAbsolute 	ָ tnX, tnY ʱ tlAbsolute ʹþ껹Իƫ
		tuFlags		TrackPopupMenu ʶ Win32api.H
	ֵ nReturn Զ


ShoBy(toObject[, tnAddx[, tnAddY]])
	˵ʾ˵
	
		toObject	򹤾ԲڸǴ˶ǰ£ܵ˵˵ܴĻС͡
		tnAddX		 X 
		tnAddy		 Y 
	ֵ nReturn Զ