rbuttonup


pfcmain.pbl   >   pfc_u_oc   >   rbuttonup   

Full name pfc_u_oc.rbuttonup
Access public
Extend of
Return value
Prototype event rbuttonup(unsignedlong,integer,integer)

Name Datatype
No Data

Name Datatype
lb_frame boolean
lm_oc m_oc
ls_classdisplayname string
lw_childparent window
lw_frame window
lw_parent window
lw_sheet window

event rbuttonup;//////////////////////////////////////////////////////////////////////////////
//
//	Event:  rbuttonup
//
//	Description:  Popup menu
//
//////////////////////////////////////////////////////////////////////////////
//	
//	Revision History
//
//	Version
//	5.0   Initial version
//
//////////////////////////////////////////////////////////////////////////////
//
//	Copyright © 1996-1997 Sybase, Inc. and its subsidiaries.  All rights reserved.
//	Any distribution of the PowerBuilder Foundation Classes (PFC)
//	source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////

boolean	lb_frame
string	ls_classdisplayname
m_oc		lm_oc
window	lw_parent
window	lw_frame
window	lw_sheet
window	lw_childparent

// Determine if RMB popup menu should occur
if not ib_rmbmenu or Len (this.objectdata) = 0 then
	return 1
end if

// Determine parent window for PointerX, PointerY offset
this.of_GetParentWindow (lw_parent)
if IsValid (lw_parent) then
	// Get the MDI frame window if available
	lw_frame = lw_parent
	do while IsValid (lw_frame)
		if lw_frame.windowtype = mdi! or lw_frame.windowtype = mdihelp! then
			lb_frame = true
			exit
		else
			lw_frame = lw_frame.ParentWindow()
		end if
	loop
	
	if lb_frame then
		// If MDI frame window is available, use it as the reference point for the
		// popup menu for sheets (windows opened with OpenSheet function) or child windows
		if lw_parent.windowtype = child! then
			lw_parent = lw_frame
		else
			lw_sheet = lw_frame.GetFirstSheet()
			if IsValid (lw_sheet) then
				do
					// Use frame reference for popup menu if the parentwindow is a sheet
					if lw_sheet = lw_parent then
						lw_parent = lw_frame
						exit
					end if
					lw_sheet = lw_frame.GetNextSheet (lw_sheet)
				loop until IsNull(lw_sheet) Or not IsValid (lw_sheet)
			end if
		end if
	else
		// SDI application.  All windows except for child windows will use the parent
		// window of the control as the reference point for the popmenu
		if lw_parent.windowtype = child! then
			lw_childparent = lw_parent.ParentWindow()
			if IsValid (lw_childparent) then
				lw_parent = lw_childparent
			end if
		end if
	end if
else
	return 1
end if

// Create popup menu
lm_oc = create m_oc
lm_oc.of_SetParent (this)

// Customize appearance of menu items
ls_classdisplayname = this.ClassShortName
if Len (ls_classdisplayname) = 0 then
	ls_classdisplayname = this.ClassLongName
end if
if Len (ls_classdisplayname) > 0 then
	lm_oc.m_object.m_edit.text = lm_oc.m_object.m_edit.text + " " + ls_classdisplayname
	lm_oc.m_object.m_open.text = lm_oc.m_object.m_open.text + " " + ls_classdisplayname
end if

// Allow menu items to be changed
this.event pfc_prermbmenu (lm_oc)

lm_oc.m_object.PopMenu (lw_parent.PointerX() + 5, lw_parent.PointerY() + 10)
destroy lm_oc

return 1


end event

     
Name Owner
No Data

     
Name Owner
menu.popmenu menu
window.getfirstsheet window
window.getnextsheet window
window.parentwindow window
window.pointerx window
window.pointery window
systemfunctions.isnull systemfunctions
systemfunctions.isvalid systemfunctions
systemfunctions.len systemfunctions
systemfunctions.len systemfunctions
pfc_u_oc.of_getparentwindow pfc_u_oc
pfc_m_oc.of_setparent pfc_m_oc
pfc_u_oc.pfc_prermbmenu pfc_u_oc

     
Full name
pfc_m_oc
pfc_m_oc.m_object

     
Name Scope
No Data