Here's an example: LOCAL loForm AS FORM loForm = CREATEOBJECT('form') loForm.NEWOBJECT('Employees','EmployeesList') loForm.Employees.VISIBLE = .T. loForm.SHOW(1) DEFINE CLASS EmployeesList AS LISTBOX COLUMNCOUNT = 3 PROCEDURE INIT WITH THIS .ADDLISTITEM('Doug Doug',1,1) .ADDLISTITEM('111 Main',1,2) .ADDLISTITEM("1",1,3) .ADDLISTITEM('Lil Bob',2,1) .ADDLISTITEM('222 Broadway',2,2) .ADDLISTITEM("2",2,3) .ADDLISTITEM('Suzzie',3,1) .ADDLISTITEM('333 Central',3,2) .ADDLISTITEM("3",3,3) ENDWITH ENDPROC PROCEDURE RIGHTCLICK() This.MyShortCut(THIS.LIST(THIS.LISTINDEX,1), THIS.LIST(THIS.LISTINDEX,2), THIS.LIST(THIS.LISTINDEX,3)) ENDPROC FUNCTION MyShortCut(tcName, tcAddress, tcID) DEFINE POPUP shortcut shortcut RELATIVE FROM MROW(),MCOL() DEFINE BAR 1 OF shortcut PROMPT "Change address..." ON SELECTION BAR 1 OF shortcut INPUTBOX('Address',"Change address for " + tcName,tcAddress) ACTIVATE POPUP shortcut ENDFUNC ENDDEFINE