PowerBuilder 拖动文件显示路径

1、引用外部dll函数:

FUNCTION int DragQueryFile(long hDrop, int iFile, REF string szFileName,int cb) LIBRARY "shell32.dll" alias for "DragQueryFileA"
SUBROUTINE DragAcceptFiles(long l_hWnd,boolean fAccept) LIBRARY "shell32.dll"
SUBROUTINE DragFinish(long hDrop) LIBRARY "shell32.dll"

2、open事件写下代码:

DragAcceptFiles(handle(lb_file), true) 

3、自定义pbm_dropfiles事件中写下代码:

string ls_path = Space(128)
Int i
int li_files
Ulong hDrop
//lb_file控件名称 文件拖动到当前控件名称上
lb_file.reset()
hDrop = Message.WordParm
li_files = DragQueryFile(hDrop, - 1, ls_path, 127) - 1

FOR i = 0 TO li_files
	DragQueryFile(hDrop, i, ls_path, 127)

	IF lb_path.FindItem(ls_path,0) <> - 1 then
		MessageBox("提示", ls_path + '~r~n~r~n 文件已经存在!')
	ELSE //lb_path 控件名称,文件路径显示控件
		lb_path.AddItem(ls_path)	
	END IF
NEXT
DragFinish(hDrop)

效果图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值