调用GetFileOpenName的问题
在调用GetFileOpenName后,再用GetCurrentDirectoryA取应用所在的目录就不对了,变在GetFileOpenName选择的目录了,别外其他控件里图片的目录设为..\resource\pi.bmp的都无法显示了,请问有什么办法解决吗 问题点数:20、回复次数:9Top
1 楼ldy(罗大佑)回复于 2003-08-03 17:05:59 得分 6
在程序刚运行时调用GetCurrentDirectory,然后将它放到一个全局变量中Top
2 楼Awang_126(王小虎)回复于 2003-08-03 18:06:48 得分 0
同意楼上的Top
3 楼chehb(chb)回复于 2003-08-05 09:48:19 得分 0
运行时出现改变目录,图片不显示是没关系的,编译后就不会出现这个问题,要不你把图片指向绝对目录也可以,不用在程序中处理Top
4 楼successfulmaster(SpiritVirus)回复于 2003-08-05 10:46:35 得分 4
GetFileOpenName 和 GetFileSaveName等函数都会改变程序的当前路径,如果在程序中要使用这个值的话应该象罗大佑说的,在程序启动后首先得到这个当前路径并将它保存在一个全局变量中.Top
5 楼wzd19(东)回复于 2003-08-05 15:10:09 得分 0
问题是我的图片都是相对路径,罗大佑的方法也可以,只是最好有办法再改回系统的路径,是否有api,我用的是pb6,一个大系统,一个个改图片路径不大可能Top
6 楼ljy607(清风)回复于 2003-08-05 15:22:22 得分 0
大家关注一下这个问题,我也遇到了,不知道该如何解决?Top
7 楼ljy607(清风)回复于 2003-08-05 15:29:32 得分 10
我解决这个问题了
应用程序启动时,用全局变量保存应用程序所在路径gs_path
执行完GetFileOpenName()后,在执行SetCurrentDirectory(gs_path)
就可以了Top
8 楼wzd19(东)回复于 2003-08-05 15:47:59 得分 0
清风的方法是对的,我也刚试出来,不过还是要感谢大家Top
9 楼wzd19(东)回复于 2003-08-05 15:50:16 得分 0
FUNCTION ulong SetCurrentDirectory(ref string lpPathName) LIBRARY "kernel32.dll" ALIAS FOR "SetCurrentDirectoryA"
Top




