home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 16
/
CD_ASCQ_16_0994.iso
/
news
/
4611
/
fw16d.ins
/
SOURCE
/
CLASSES
/
PDMENU.PRG
< prev
next >
Wrap
Text File
|
1994-04-29
|
1KB
|
53 lines
#include "FiveWin.ch"
#define MENU 1
#define ITEMS 2
static aMenus := {}
//----------------------------------------------------------------------------//
function MenuBegin( lPopup, lSystem, oWnd )
DEFAULT lSystem := .f.
if lSystem
AAdd( aMenus, { TMenu():NewSys( oWnd ), {} } )
oWnd:oSysMenu = ATail( aMenus )[ MENU ]
else
AAdd( aMenus, { TMenu():New( lPopup ), {} } )
endif
return ATail( aMenus )[ MENU ]
//----------------------------------------------------------------------------//
function MenuAddItem( cPrompt, cMsg, lChecked, lActive, bAction, cBmpFile,;
cResName, oMenu, bBlock, nVKState, nVirtKey )
local oItem := TMenuItem():New( cPrompt, cMsg, lChecked, lActive,;
If( bBlock != nil, bBlock, bAction ),;
cBmpFile, cResName, nVKState, nVirtKey )
AAdd( ATail( aMenus )[ ITEMS ], oItem )
return oItem
//----------------------------------------------------------------------------//
function MenuEnd()
local oMenu := ATail( aMenus )[ MENU ]
local aItems := ATail( aMenus )[ ITEMS ]
AEval( aItems, { | oItem | oMenu:Add( oItem ) } )
ASize( aMenus, Len( aMenus ) - 1 )
if Len( aMenus ) > 0
ATail( ATail( aMenus )[ ITEMS ] ):bAction = oMenu
endif
return oMenu
//----------------------------------------------------------------------------//