File: w_base_dropdown.srw
Size: 2197
Date: Mon, 07 Apr 2008 21:32:01 +0200
$PBExportHeader$w_base_dropdown.srw
forward
global type w_base_dropdown from w_popup
end type
end forward

global type w_base_dropdown from w_popup
integer width = 1541
integer height = 1044
boolean titlebar = false
boolean controlmenu = false
boolean minbox = false
long backcolor = 1073741824
boolean palettewindow = true
boolean #autopositionwindow = false
event ke_initvalue ( readonly any value )
end type
global w_base_dropdown w_base_dropdown

type variables
Protected:
n_base_dropdown inv_dropdown
any ia_return
end variables

forward prototypes
public subroutine of_setreturnvalue (readonly any aa_returnvalue)
public subroutine of_setinitialvalue (readonly any aa_value)
public subroutine of_dropshadow ()
end prototypes

event ke_initvalue(readonly any value);//set initial value
end event

public subroutine of_setreturnvalue (readonly any aa_returnvalue);ia_return = aa_returnvalue

IF ISVALID(inv_dropdown) THEN inv_dropdown.of_SetReturnValue(aa_returnvalue)
end subroutine

public subroutine of_setinitialvalue (readonly any aa_value);ia_return = aa_value

EVENT ke_initvalue(aa_value)
end subroutine

public subroutine of_dropshadow ();n_svc_mgr lnv_svc
n_svc_win32 lnv_win32
n_svc_bit lnv_bit

lnv_svc.of_LoadSvc(lnv_win32, CSvc.WIN32)
lnv_svc.of_LoadSvc(lnv_bit, CSvc.BIT)

long lul, ll_ret

lul = lnv_win32.GetWindowlong(Handle(this), CWin32.GWL_STYLE)
lul = lnv_bit.of_BitwiseOR({lul, CWin32.CS_DROPSHADOW})
ll_ret = lnv_win32.SetWindowLong(Handle(this), CWin32.GWL_STYLE, lul)
ll_ret = 0
end subroutine

on w_base_dropdown.create
call super::create
end on

on w_base_dropdown.destroy
call super::destroy
end on

event open;call super::open;IF ISVALID(Message.PowerObjectParm) THEN &
   inv_dropdown = Message.PowerObjectParm
end event

event ke_show;//override, manual window show
end event

event deactivate;call super::deactivate;IF ISVALID(inv_dropdown) THEN inv_dropdown.of_cancel()
end event

event key;call super::key;IF key = KeyEscape! THEN
   IF ISVALID(inv_dropdown) THEN inv_dropdown.of_cancel()
END IF
end event

event ke_preopen;call super::ke_preopen;//of_Dropshadow( )
end event