$PBExportHeader$uo_email_lv.sru forward global type uo_email_lv from listview end type end forward global type uo_email_lv from listview integer width = 485 integer height = 280 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 16777215 borderstyle borderstyle = stylelowered! listviewview view = listviewsmallicon! string largepicturename[] = {"p15drive_fdd.ico","p45workgroup.ico"} long largepicturemaskcolor = 536870912 long smallpicturemaskcolor = 536870912 long statepicturemaskcolor = 536870912 event ue_runfj ( ) event ue_saveas ( ) event ue_delfj ( ) end type global uo_email_lv uo_email_lv type variables long ins_cur_fjid//收到信息当前行附件id string ins_cur_fjname//收到信息当前行附件名 long ins_index long uo_ins_msgid string fjfilepathname='fjtemp'//附件下载临时文件夹默认为fjtemp Blob ls_filedata end variables event ue_runfj();this.triggerevent(doubleclicked!) end event event ue_saveas();////附件另存为 //Integer i //Long ls_i,ls_j,ls_newrow,ls_filesize //String Pathname,ls_filename //String errmsg,arg_msg //String ls_filetypename //Long pos1,lrow,rslt //String ls_para,ls_downarg[] //uo_email obj_email //obj_email = CREATE uo_email //obj_email.commit_tran = sqlca //obj_email.fj_tran = sqlca //Pathname = ins_cur_fjname // ////************************************************************* // //pos1 = Pos(ins_cur_fjname,'.',1) //IF pos1 > 0 THEN // ls_filetypename = Mid(ins_cur_fjname,pos1 + 1) // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename) //ELSE // ls_filetypename = '' // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*.*,*.*") //END IF // //IF i = 1 AND Trim(Pathname) <> '' THEN // IF obj_email.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN // MessageBox('系统提示',arg_msg) // RETURN // END IF // // IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN // MessageBox('系统提示',errmsg) // RETURN // ELSE // // MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+Pathname) // END IF //END IF // end event event ue_delfj();Integer li_Index li_Index = This.SelectedIndex() ListViewItem lvi Long ll_cnt = 0, ll_i IF li_Index > 0 THEN IF This.TotalSelected() <= 1 THEN This.DeleteItem(li_Index) ELSE ll_cnt = This.TotalItems() FOR ll_i = ll_cnt To 1 step -1 IF This.GetItem(ll_i, lvi) = 1 THEN IF lvi.Selected THEN This.DeleteItem(ll_i) END IF END IF NEXT END IF END IF end event on uo_email_lv.create end on on uo_email_lv.destroy end on event doubleclicked;////附件下载并打开 //Integer i //Long ls_i,ls_j,ls_newrow,ls_filesize //Int rslt = 1 //String Pathname,ls_filename //String errmsg //String ls_filetypename //Long pos1,lrow //String ls_para,ls_downarg[] //listviewitem l_lvi //s_email_lvfj s_lvfj //String lsNull //uo_email obj_email //obj_email = CREATE uo_email //obj_email.fj_tran = sqlca ////取附件信息 //IF ins_index > 0 THEN // THIS.GetItem( ins_index, l_lvi) // s_lvfj = l_lvi.Data // ins_cur_fjid = s_lvfj.fjid // ins_cur_fjname = l_lvi.Label // IF ins_cur_fjname = '' THEN GOTO ext //ELSE // GOTO ext //END IF ////下载附件并打开 //Pathname = sys_cur_path+fjfilepathname+'\'+ins_cur_fjname //IF FileExists(Pathname) THEN FileDelete(Pathname) //IF ins_cur_fjid > 0 THEN // IF obj_email.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN // rslt = 0 // GOTO ext // END IF //ELSE // ls_filedata = s_lvfj.fileblob //END IF // //IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN // rslt = 0 // GOTO ext //END IF // ////打开附件 //ShellExecute32( Handle(THIS), lsNull, Pathname, lsNull, lsNull, 1 ) // //ext: //IF rslt = 0 THEN // MessageBox('系统提示',errmsg) //END IF //DESTROY obj_email // end event event rightclicked;Long ls_fjid String ls_fjname listviewitem l_lvi s_email_lvfj s_lvfj IF Index > 0 THEN This.GetItem( Index, l_lvi) s_lvfj = l_lvi.Data ls_fjid = s_lvfj.fjid ls_fjname = l_lvi.Label ins_cur_fjid = s_lvfj.fjid ins_cur_fjname = l_lvi.Label ls_filedata = s_lvfj.fileblob ins_index = Index m_dfc_msg dmPopupMenu String menustr,ls_level menustr = "Text=另存为~tEvent=ue_saveas" IF This.TotalSelected() = 1 THEN menustr = menustr+"|"+"Text=打开附件~tEvent=ue_runfj" END IF IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = Create m_dfc_msg dmPopupMenu.mf_buildmenu( This, menustr) dmPopupMenu.mf_popmenu() Destroy dmPopupMenu END IF ELSE ins_index = 0 END IF end event event clicked;IF Index > 0 THEN ins_index = Index ELSE ins_index = 0 END IF end event