hur.cn - 华软网

 热门搜索

关于数据窗口中图片显示的问题,跟帖有分!

  作者:未知    来源:网络    更新时间:2019/1/25

窗口w_test

w_test上有:

数据窗口dw_1(freefrom格式).dw_1上放置一图片p_1

1个按钮控件cb_new是增加记录
----------------------------------------------------
在w_test中的open事件中:
dw_1.settransobject(sqlca)
ll_row=dw_1.insertrow(0)
dw_1.scrolltorow(ll_row)
dw_1.object.p_1.filename='.\pic\default.jpg'//放置默许图片
----------------------------------------------------------
在dw_1的doubleclicked事件中
if dwo.name='p_1' then
   string  ls_photofile
   string  ls_named
   integer li_value


li_value = GetFileOpenName("选择图片资料",ls_photofile, ls_named, "图片资料",  "JPG Files (*.JPG),*.JPG")

if li_value=1 then
this.object.p_1.filename=ls_photofile
end if
end if
---------------------------------------------------------------------------------------
在cb_new的clicked事件中
ll_row=dw_1.insertrow(0)
dw_1.scrolltorow(ll_row)
dw_1.object.p_1.filename='.\pic\default.jpg'//更改图片为默许图片
----------------------------------------------------------------------------------------
问题是:

每次更改完选择图片路径之后,点cb_new按钮以后,p_1不会恢复到默许的pic\default.jpg

这是怎么回事情,是否是路径设置有问题.

初学PB,请多帮助




------华软网友回答------
up
------华软网友回复------
调用getfileopenname()后默许路径被修改了,p_1根据相对路径找不对响应的图片资料.要么调用getfileopenname()后用changedirectory()恢复成原来的默许路径,要么运用绝对路径.
------华软网友回复------
支持绝对路径,不支持相对路径
例如:把.\pic\default.jpg改成c:\default.jpg就没问题

但我不能告诉用户在散发资料的时候把default.jpg拷贝到c盘根目录下啊

--------------------------------------------------------------------
谁能告诉我怎么解决???
------华软网友回复------
你能够用代码设置p_1的filename,先掏出来程序所在路径,加上图片资料名,然后给p_1.filename赋值.
------华软网友回复------
sdhylj(青锋--SS) 
-------------------------------------------
好,我试试
------华软网友回复------
sdhylj(青锋--SS) 
---------------------------------------------
if dwo.name='p_1' then
   string  ls_photofile
   string  ls_named
   integer li_value


li_value = GetFileOpenName("选择图片资料",ls_photofile, ls_named, "图片资料",  "JPG Files (*.JPG),*.JPG")

if li_value=1 then
this.object.p_1.filename=ls_photofile
end if
end if
---------------------------------------------------------------
changedirectory("./pic/default.jpg")
---------------------------------------------------------------
改了一下,照旧不对.究竟改怎么写.谢谢!!!!!!
------华软网友回复------
if dwo.name='p_1' then
string ls_photofile
string ls_named
integer li_value

string ls_oldpath
ls_oldpath=GetCurrentDirectory()  //保存原来的路径

li_value = GetFileOpenName("选择图片资料",ls_photofile, ls_named, "图片资料", "JPG Files (*.JPG),*.JPG")

if li_value=1 then
this.object.p_1.filename=ls_photofile  //ls_photofile保存的就是绝对路径,按说不用更换目录
end if
end if
---------------------------------------------------------------
changedirectory(ls_oldpath)
---------------------------------------------------------------
------华软网友回复------
sdhylj(青锋--SS) 
-----------------------------------------
再次谢谢,问题解决,结帖了
------华软网友回复------
怎么解决的?
------华软网友回复------
sdhylj(青锋--SS) 
---------------------------
是这样。在窗口中放置sle_1用来显示路径
sle_1.text= GetCurrentDirectory( )//获得当前路径
在cb_new的clicked事件中
dw_1.object.p_1.filename=sle_1.text+'\default.jpg'//设置默许路径

就OK了

------华软网友回复------
有你适才给我的代码也能够,比我写的简单,而且不用加sle_1

谢谢了
------华软网友回复------
客气了,解决了就好.      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。