易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi 读取剪粘板内的html格式数据

根据剪贴板的原理,在获取剪贴板内容之前,必须指定要获取内容的格式。由于剪贴板中的数据可能存在多种格式,所以有必要对剪贴板的格式类型先做一些了解。W写下了以下的测试代码:
procedure TForm1.Button3Click(Sender: TObject);
var
  i: integer;
  Buffer: PChar;
  s: string;
begin
  Memo1.Lines.Clear;  //增加了一个Memo控件来跟踪数据
  with TClipboard.Create do  //利用TClipboard追踪剪贴板
  begin
    GetMem(Buffer, 20);
    for i:=0 to FormatCount - 1 do
    begin
      GetClipboardFormatName(Formats[i], Buffer, 20);
      s := StrPas(Buffer);
      Memo1.Lines.Add(Format('%s:%d', [s, Formats[i]]));
    end;
    FreeMem(Buffer);
    Free;
  end;
end;
点击Button3,在Memo1文本框中显示出以下的内容:
DataObject:49161
Object Descriptor:49166
Rich Text Format:49312
HTML Format:49394
HTML Format:14
HTML Format:3
PNG:49672
GIF:49536
JFIF:49538
……
很明显,第4行的“HTML Format:49394”应该就是HTML编辑器真正需要的格式。由于“HTML Format”并不是剪贴板默认支持的格式,所以W需要使用API函数RegisterClipboardFormat先进行注册。
procedure TForm1.Button4Click(Sender: TObject);
var
  s: string;
  hMem: DWORD;
  CF_HTML: DWORD; // 声明一个CF_HTML剪贴板格式
  txtPtr: PChar;
begin
  CF_HTML := RegisterClipboardFormat('HTML Format');  //注册HTML Format格式
  with TClipboard.Create do
  begin
    hMem := GetAsHandle(CF_HTML);
    txtPtr := GlobalLock(hMem);
    s := StrPas(txtPtr);
    GlobalUnlock(hMem);
    Memo1.Lines.Add(UF8Decode(s));
    Free;
  end;
end;
单击Button4就可以在memo1中看到真定html格式文本。


相关文档:

开发一个自己的HTML在线编辑器

原文地址:http://aspalliance.com/1092_Rich_Text_Editor_Part_I
[原文源码下载]
开发一个自己的HTML在线编辑器(一)
摘要
在本文中,Haissam Abdul Malak将给大家详细介绍如何使用javascript开发一个HTML在线编辑器,它可以应用于web应用程序中,特别是论坛,社区和博客。这个编辑器支持基于XHTML创建文本的功能。
......

HTML中的内联框架

<body>
<iframe name="pic" src=""; width="400" height="300" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe>
<p>
<a href="www.163.com" mce_href="www.163.com" target="pic">网易</a>
<a href="www.sina.com.cn" mce_href="www.sina.com.cn" ......

Delphi 嵌入汇编 进Ring0 360tray.exe

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TlHelp32;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Pub ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号