w_back
activate
this.BringtoTop = false
open
dw_1.object.p_1.filename="picture\Cash.gif"
dw_1.object.p_2.filename="picture\people.gif"
dw_1.object.p_3.filename="picture\sign.gif"
dw_1.object.p_4.filename="picture\book.gif"
dw_1.object.p_5.filename="picture\key.gif"
dw_1.object.p_6.filename="picture\right1.BMP"
dw_1.object.p_9.filename="picture\right1.BMP"
resize
//大小同步
dw_1.resize(this.width, this.height )
clicked
If dwo.Type <> 'bitmap' then Return
//将鼠标Cliecked的图片控件边框设置为Lowered
this.modify(dwo.name + ".Border='5'")
// 根据所选控件进行功能处理,如调用相应的功能模块
choose case dwo.name
case "p_1"
opensheet(w_qtyy,w_main)
case "p_2"
open(w_xsfx)
case "p_3"
opensheet(w_cpsz,w_main,1,layered!)
case "p_4"
opensheet(w_czyd,w_main)
case "p_5"
open(w_ygda)
end choose
constructor
This.InsertRow(0)
ue_dwnmousemove
//如果鼠标所在位置是图片控件
If dwo.Type = 'bitmap' and &
(dwo.name = 'p_1' or dwo.name = 'p_2' or &
dwo.name = 'p_3' or dwo.name = 'p_4' or dwo.name = 'p_5')then
if is_old = dwo.name then return //
//将上次所在图片边框清除(NoBorder)
this.modify( is_old + ".Border='0'")
//将本次图片赋给实例变量
is_old=dwo.name
//将本次图片控件边框设为带阴影
this.modify( is_old + ".Border='1'")
Else
//鼠标所在位置不是图片控件
this.modify( is_old + ".Border='0'")
is_old = ''
End if
instance
string is_old
w_main
open
this.event post ue_postopen()
//程序一运行就打开导航图窗口
//如果取消导航图则删除d_start,w_back和下面的语句即可
//opensheet(w_back,this,0,layered!)
close
destroy inv_WallPaper
activate
this.event ue_paint()
resize
this.event ue_Paint()
ue_paint
if IsValid(inv_WallPaper) then inv_WallPaper.event post ue_Paint()
ue_postopen
inv_wallpaper = create nc_wallpaper
inv_wallpaper.f_SetWindow ( this, this.mdi_1 )
inv_wallpaper.ib_Resize = true
inv_wallpaper.ib_Center = false
inv_wallpaper.f_SetBitmap ( 'picture\wallpaper.bmp' )
inv_WallPaper.f_SetWallPaper(true)
instance
nc_wallpaper inv_WallPaper
[nc_wallpaper]
instance
boolean ib_mdi = false
mdiclient i_mdi
window iw_window
string is_bitmap
ulong iul_hbitmap
ulong iul_hmdi
ulong iul_dcmdi
ulong iul_hDCMem
stru_bitmap istr_Bitmap
boolean ib_center = FALSE
boolean ib_resize = TRUE
integer ii_TitleBarHeight = 200
local
FUNCTION int ReleaseDC(ulong handle, ulong hDC) LIBRARY "User32.dll"
FUNCTION ulong SelectObject(ulong hDC, ulong hGDIObj) LIBRARY "Gdi32.dll"
FUNCTION int BitBlt(ulong hDC, int num, int num, int num, int num, &
ulong hDC, int num, int num, ulong lParam) LIBRARY "Gdi32.dll"
FUNCTION ulong CreateCompatibleDC(ulong hDC) LIBRARY "Gdi32.dll"
FUNCTION ulong GetDC(ulong handle) LIBRARY "User32.dll"
FUNCTION ulong LoadImageA(ulong hints, ref string lpszName, UINT uType, &
int cxDesired,int cyDesired,UINT fuLoad) library "user32.dll"
FUNCTION ulong GetObjectBitmap(ulong hgdiobj, int cbBuffer, &
ref stru_bitmap bm) library "gdi32.dll" alias for GetObjectA
FUNCTION boolean DeleteObject (ulong hgdiobj) library "gdi32.dll"
FUNCTION boolean StretchBlt(ulong hDCdest,int x1,int y1,int w1,int h1,&
ulong hDCsrc, int x2, int y2, int w2, int h2, ulong lParam) LIBRARY "Gdi32.dll"
destructor
this.f_setwallpaper(false)
ue_paint
integer li_x
integer li_y
integer li_Width
integer li_Height
ulong lul_hOldBitmap
integer li_W
integer li_H
li_x = 0
li_y = 0
li_Width = istr_bitmap.bmWidth
li_Height = istr_bitmap.bmHeight
if ib_mdi then
li_w = i_mdi.width
li_h = i_mdi.height
else
li_w = iw_window.width
li_h = iw_window.height - ii_TitleBarHeight
end if
if ib_Center then
li_x = (UnitsToPixels(li_w,XUnitsToPixels!) - istr_bitmap.bmWidth ) / 2
li_y = (UnitsToPixels(li_h,YUnitsToPixels!) - istr_bitmap.bmHeight ) / 2
end if
if ib_Resize then
li_x = 0
li_y = 0
li_Width = UnitsToPixels(li_w,XUnitsToPixels!)
li_Height = UnitsToPixels(li_h,YUnitsToPixels!)
end if
if ib_Center and not ib_Resize then
if ib_mdi then
i_mdi.backcolor = i_mdi.backcolor
else
iw_window.backcolor = iw_window.backcolor
end if
end if
lul_hOldBitmap = SelectObject(iul_hDcMem,iul_hBitmap)
StretchBlt(iul_DcMdi,li_x,li_y,li_Width,li_Height,iul_hDcMem,0,0,&
istr_bitmap.bmWidth,istr_bitmap.bmHeight, 13369376)
SelectObject(iul_hDcMem,lul_hOldBitmap)
f_setbitmap
integer f_setbitmap
string str_filename
is_bitmap = str_filename
return 1
f_setwallpaper
integer f_setwallpaper
boolean b_switch
ulong lul_Null
window lw_frame
if b_switch then
f_SetWallPaper(FALSE)
SetNull(lul_Null)
iul_hBitmap = loadImageA(lul_Null,is_Bitmap,0,0,0,80)
if ( iul_hBitmap > 0 ) then
GetObjectBitmap( iul_hBitmap, 28, istr_Bitmap )
if ib_Mdi then
iul_hMdi = handle( i_Mdi )
else
iul_hMdi = handle( iw_Window )
end if
iul_DcMdi = GetDC( iul_hMdi )
iul_hDcMem = CreateCompatibleDC(iul_DcMdi)
this.Event Post ue_Paint()
return 1
else
return -1
end if
else
DeleteObject ( iul_hBitmap )
ReleaseDC(iul_DcMdi, iul_hMdi)
return 1
end if
f_setwindow
integer f_setwindow
window w_window
iw_window = w_window
ib_mdi = FALSE
return 1
f_setwindow
integer f_setwindow
window w_window
mdiclient a_mdi
iw_window = w_window
i_mdi = a_mdi
ib_mdi = TRUE
return 1
[stru_bitmap]
long bmtype
long bmwidth
long bmheight
long bmwidthbytes
long bmplanes
long bmbitspixel
blob bmbits