找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3992|回复: 0

[模块源码] 斩月_剪贴板操作模块——增加剪贴板置HTML功能

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2010-11-20 08:16:25 | 显示全部楼层 |阅读模式
增加一个“剪贴板_置HTML”函数,可以同时向剪贴板复制纯文本和HTML。但前提是已经获取到HTML数据了,然后再通过这个函数把HTML数据复制到剪贴板。~~~~~这种功能的作用是当粘贴在具备处理HTML能力的编辑器中时,会根据剪贴板中的HTML数据进行处理,有样式的按照样式显示,有链接的自动带链接。比如Word。

#以下代码可以直接复制到易语言IDE使用:

.子程序 剪贴板_置HTML, 整数型, 公开, 同时置剪贴板文本和HTML数据
    .参数 TEXT, 文本型, , 复制到剪贴板的纯文本,比如“Girl”
    .参数 HTML, 文本型, , 复制到剪贴板的HTML数据,比如“<a href='girl.jpg'>Girl</a>”
    .局部变量 html_reg, 整数型
    .局部变量 html_start, 文本型
    .局部变量 html_end, 文本型
    .局部变量 html_text, 文本型
    .局部变量 hhtml, 整数型
    .局部变量 htext, 整数型
    .局部变量 ret, 整数型
      
    html_start = “<HTML><BODY><!--StartFragment-->”
    html_end = “<!--EndFragment--></BODY></HTML>”
    html_text = #html_head + html_start + HTML + html_end
    html_text = 子文本替换 (html_text, “aaaaaaaaa”, 数值补零 (lstrlen (#html_head)), , 1, )
    html_text = 子文本替换 (html_text, “bbbbbbbbb”, 数值补零 (lstrlen (html_text)), , 1, )
    html_text = 子文本替换 (html_text, “ccccccccc”, 数值补零 (lstrlen (#html_head + html_start)), , 1, )
    html_text = 子文本替换 (html_text, “ddddddddd”, 数值补零 (lstrlen (#html_head + html_start + HTML)), , 1, )
    html_text = 到文本 (编码转换 (到字节集 (html_text), #编码_GBK, #编码_UTF_8, ))
      
    .如果真 (OpenClipboard (0) = 0)
        返回(-1)
    .如果真结束
    EmptyClipboard ()
      
    htext = GlobalAlloc (66, lstrlen (TEXT) + 1)
    .如果真 (htext ≠ 0)
        CopyMemory_文本 (GlobalLock (htext), TEXT, lstrlen (TEXT))
        GlobalUnlock (htext)
        ret = SetClipboardData (1, htext)
        GlobalFree (htext)
    .如果真结束
      
    .如果真 (ret = 0)
        返回(-1)
    .如果真结束
      
    html_reg = RegisterClipboardFormat (“HTML Format”)
    .如果真 (html_reg = 0)
        返回(0)
    .如果真结束
    hhtml = GlobalAlloc (66, lstrlen (html_text) + 1)
    .如果真 (hhtml ≠ 0)
        CopyMemory_文本 (GlobalLock (hhtml), html_text, lstrlen (html_text))
        GlobalUnlock (hhtml)
        ret = SetClipboardData (html_reg, hhtml)
        GlobalFree (hhtml)
    .如果真结束
    CloseClipboard ()
    .判断开始 (ret = 0)
        返回(0)
    .默认
        返回(1)

#以上代码使用易代码高亮格式工具JS版格式化

斩月_剪贴板操作模块.7z

8.44 KB, 下载次数: 5335

【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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