|
rbuttonup
|
|
Full name
|
pfc_u_sle.rbuttonup
|
Access
|
public
|
Extend of
|
|
Return value
|
|
Prototype
|
event rbuttonup(unsignedlong,integer,integer)
|
Name
|
Datatype
|
lb_frame
|
boolean
|
lm_edit
|
m_edit
|
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
m_edit lm_edit
window lw_parent
window lw_frame
window lw_sheet
window lw_childparent
// Determine if RMB popup menu should occur
if not ib_rmbmenu 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_edit = create m_edit
lm_edit.of_SetParent (this)
// Enable menu items if appropriate
lm_edit.m_edititem.m_copy.enabled = false
lm_edit.m_edititem.m_cut.enabled = false
if Len (this.SelectedText()) > 0 then
lm_edit.m_edititem.m_copy.enabled = true
if not this.displayonly then
lm_edit.m_edititem.m_cut.enabled = true
end if
end if
if Len (ClipBoard()) > 0 and not this.displayonly then
lm_edit.m_edititem.m_paste.enabled = true
else
lm_edit.m_edititem.m_paste.enabled = false
end if
if Len (this.text) > 0 then
lm_edit.m_edititem.m_selectall.enabled = true
else
lm_edit.m_edititem.m_selectall.enabled = false
end if
this.event pfc_prermbmenu (lm_edit)
lm_edit.m_edititem.PopMenu (lw_parent.PointerX() + 5, lw_parent.PointerY() + 10)
destroy lm_edit
return 1
end event
Name
|
Owner
|
menu.popmenu |
menu
|
window.getfirstsheet |
window
|
window.getnextsheet |
window
|
window.parentwindow |
window
|
window.pointerx |
window
|
window.pointery |
window
|
singlelineedit.selectedtext |
singlelineedit
|
systemfunctions.clipboard |
systemfunctions
|
systemfunctions.isnull |
systemfunctions
|
systemfunctions.isvalid |
systemfunctions
|
systemfunctions.len |
systemfunctions
|
pfc_m_edit.of_setparent |
pfc_m_edit
|
pfc_u_sle.of_getparentwindow |
pfc_u_sle
|
pfc_u_sle.pfc_prermbmenu |
pfc_u_sle
|