File 如何在VFP中从剪贴板粘贴文件?
我有一个屏幕,可以将文件从Windows文件夹拖放到列表框中。拖放文件后,列表框将显示文件路径 我希望能够直接从Outlook/Gmail拖放文件。如果拖放失败,我希望复制和粘贴选项可用 假设文件已由Outlook/Gmail复制选项填充,是否可以从剪贴板粘贴文件File 如何在VFP中从剪贴板粘贴文件?,file,clipboard,copy-paste,visual-foxpro,File,Clipboard,Copy Paste,Visual Foxpro,我有一个屏幕,可以将文件从Windows文件夹拖放到列表框中。拖放文件后,列表框将显示文件路径 我希望能够直接从Outlook/Gmail拖放文件。如果拖放失败,我希望复制和粘贴选项可用 假设文件已由Outlook/Gmail复制选项填充,是否可以从剪贴板粘贴文件 我想读取复制的文件路径(可在剪贴板中找到),并将其显示给用户 可以从剪贴板粘贴。 Windows剪贴板存储在名为_cliptext的VFP系统变量中。 您可以执行此非常简单的测试,以查看它的运行情况: 从问题中选择文本,然后按Ctrl
我想读取复制的文件路径(可在剪贴板中找到),并将其显示给用户 可以从剪贴板粘贴。 Windows剪贴板存储在名为_cliptext的VFP系统变量中。 您可以执行此非常简单的测试,以查看它的运行情况:
可以从剪贴板粘贴。 Windows剪贴板存储在名为_cliptext的VFP系统变量中。 您可以执行此非常简单的测试,以查看它的运行情况:
如果是原始文本,例如电子邮件的邮件正文,则Ed是正确的。您可以指定如下内容:
thisform.yourEditBox.Text = _cliptext
但是,如果您所指的剪辑是电子邮件附件的文件名,则情况有所不同。文件内容是什么。。。它是文本文件、Word文档、图像、PDF等。唯一一个你很容易得到的就是文本文件。如果是这种情况,并且剪贴板具有要向用户显示的文件的完整路径和名称,则执行
thisform.yourEditBox.Text = filetostr( _cliptext )
如果是原始文本,例如电子邮件的邮件正文,则Ed是正确的。您可以指定如下内容:
thisform.yourEditBox.Text = _cliptext
但是,如果您所指的剪辑是电子邮件附件的文件名,则情况有所不同。文件内容是什么。。。它是文本文件、Word文档、图像、PDF等。唯一一个你很容易得到的就是文本文件。如果是这种情况,并且剪贴板具有要向用户显示的文件的完整路径和名称,则执行
thisform.yourEditBox.Text = filetostr( _cliptext )
查看VFP提供的OLE拖放数据对象,特别是其GetFormat和SetFormat方法
Tamar检查VFP提供的OLE拖放数据对象,特别是其GetFormat和SetFormat方法
Tamar要检索复制到剪贴板的文件的文件路径和文件名,可以使用此基本例程。你可以随意增强它
* filenames on clipboard
Declare integer OpenClipboard in user32 integer
Declare integer CloseClipboard in user32
Declare integer GetClipboardData in user32 integer
Declare integer DragQueryFile in shell32 integer, integer, string @, integer
private dh,nof,tt,fn
if OpenClipboard(0)=1
* handle
dh=GetClipboardData(15)
* number of files
nof=DragQueryFile(dh,-1,chr(0),0)
* filenames
for tt=1 to nof
fn=space(1024)
DragQueryFile(dh,tt-1,@fn,1024)
? strtran(alltrim(fn),chr(0),'')
next
endif
CloseClipboard()
要检索复制到剪贴板的文件的文件路径和文件名,可以使用此基本例程。你可以随意增强它
* filenames on clipboard
Declare integer OpenClipboard in user32 integer
Declare integer CloseClipboard in user32
Declare integer GetClipboardData in user32 integer
Declare integer DragQueryFile in shell32 integer, integer, string @, integer
private dh,nof,tt,fn
if OpenClipboard(0)=1
* handle
dh=GetClipboardData(15)
* number of files
nof=DragQueryFile(dh,-1,chr(0),0)
* filenames
for tt=1 to nof
fn=space(1024)
DragQueryFile(dh,tt-1,@fn,1024)
? strtran(alltrim(fn),chr(0),'')
next
endif
CloseClipboard()
哪个是数据对象名称,在哪里可以找到它的文档?数据对象只存在于相关的OLE拖放方法中,这些方法将其作为参数接收。您可以在VFP帮助中找到DataObject。哪个是数据对象名称,在哪里可以找到它的文档?DataObject只存在于相关的OLE拖放方法中,这些方法将其作为参数接收。您可以在VFP帮助中找到DataObject。