斩月_剪贴板操作模块——增加剪贴板置HTML功能
增加一个“剪贴板_置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版格式化
页:
[1]