请问如何自定义个格式装入剪贴板,然后再粘贴出来(VC C++Builder Delphi都行)??(100分)

  • 主题发起人 主题发起人 葬月
  • 开始时间 开始时间

葬月

Unregistered / Unconfirmed
GUEST, unregistred user!
比方说
我想把个数据库的某几条记录转换成我自定义的格式的结构,
装入剪贴板,然后把它粘贴出来,谁能给我个详细点的代码?
(不能用粘贴到memo里再粘贴出来的办法, 因为数据库某个字段是Memo)
 
你可以直接粘贴到剪贴板啊,不需要什么格式转换吧。
 
直接????
你举个例子??请给出原代码
 
TDBMemo中有个CopyToClipboard
 
先建一个temp表,然后屏幕系统的ctrl+c和ctrl+v
写自己的ctrl+c/ctrl+v的代码,ctrl+c时把几个字段读进temp表中,执行ctrl+v时执行一个数据
库的插入操作
 
vcl和win32 api的结合
确定一个记录结构保存你的数据:
type TMyTest=record
a:integer;
b:string[10];
//必须指定长度!不能使用没指定长度的string
end;
type PMyTest=^TMyTest;
写入clipboard
var
f:DWORD;
v:PMyTest;
h:THandle;
begin
f:=RegisterClipboardFormat('TMyTestFormat');
h:=GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE,sizeof(TMyTest));
v:=GlobalLock(h);
v^.a:=123;
v^.b:='asdfg';
GlobalUnlock(h);
Clipboard.SetAsHandle(f,h);
end;

读出数据:
var
f:DWORD;
m:TMyTest;
h:THandle;
begin
f:=RegisterClipboardFormat('TMyTestFormat');
h:=Clipboard.GetAsHandle(f);
if h=0 then
exit;
Move(GlobalLock(h)^,m,sizeof(m));
GlobalUnlock(h);
ShowMessage(IntToStr(m.a));
ShowMessage(m.b);
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
715
import
I
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
495
import
I
后退
顶部