关于数据窗口中图片显示的问题,跟帖有分!
作者:未知 来源:网络 更新时间: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
谢谢了
------华软网友回复------
客气了,解决了就好.
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。
- 上一篇文章: 求教ODBC连接外部表问题
- 下一篇文章: 字符串怎么转为控件名