VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 866|回复: 2

在 .net中如何将metafile 文件复制到剪贴板?

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-15 22:40:01 | 显示全部楼层 |阅读模式
在 .net中如何将metafile 文件复制到剪贴板?在复制到剪贴板时应是metafile元文件,复制到剪贴板后的文件应可以复制到Word中。求助。
在VB 6.0中用
clipboard.setdata(metafilename,vbCFMetafile)就能实现,可在.net中该如何实现呢。谢谢啦。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-21 17:00:02 | 显示全部楼层
// Demonstrates SetData, ContainsData, and GetData.
public Object SwapClipboardFormattedData(String format, Object data)
{
    Object returnObject = null;
    if (System.Windows.Forms.Clipboard.ContainsData(format))
    {
        returnObject = System.Windows.Forms.Clipboard.GetData(format);
        System.Windows.Forms.Clipboard.SetData(format, data);
    }
    return returnObject;
}



回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-9-2 20:00:01 | 显示全部楼层
没整明白说的啥意思。。。你要知道,在问加夹里复制文件并粘贴到WORD和在画图里打开之后再粘贴到WORD,WORD都可以显示这个图。。。


算了,无论是哪个,你都得知道剪贴板数据的格式,如果不是预定义格式,那么应该使用IDataObject来获取,该格式。具体实现是这样的:

Dim iData As IDataObject = Clipboard.GetDataObject.GetFormats

       Dim iData As IDataObject = Clipboard.GetDataObject
        For Each Str As String In iData.GetFormats
            Debug.Print(Str)
        Next
这里输出的Str就是你要用的格式字符串。
这个代码可以得到剪贴板里面全部的格式,当读取时应可使用iData.GetData方法来获取指定的格式内容,如果是在画图里面复制出来的,多应是system.io.memorystaeam吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表