Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 4986|回复: 3

做了个复制到剪切板的程序,那位高手会剪切板操作,看为什么不起作用

[复制链接]

该用户从未签到

发表于 2009-11-10 16:16:37 | 显示全部楼层 |阅读模式
procedure TForm1.Button1Click(Sender: TObject);
var
s:String;
hClip:HWND;
pTextChar; //pch
ocResultongbool;

begin
S:='This is a Clipboard example.';
ocResult:=OpenClipboard(self.Handle);
EmptyClipboard();
hClip:=GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE,Length(S)+4);
PText:=PChar(GlobalLock(hClip));
SendMessage(hClip,WM_COPY,255,Integer(PChar('1234g')));
memcpy(pText,PChar(s),Length(S)+4); //StrCopy(pText,PChar(S));

//edt_send.Text:=pText;
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
//GlobalFree(hClip);
CloseClipboard;

end;
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-11-10 16:27:38 | 显示全部楼层

回 楼主(tsp_1030) 的帖子

没人知道吗 自己顶
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2010-11-11 16:41:24 | 显示全部楼层
应该给你的窗体注册一个剪贴板查看器,
    Procedure WmDrawClipBoard(Var Message:Tmessage);Message WM_DrawClipBoard; //处理WM_DrawClipBoard消息的过程

脱离剪贴板
  if HwndNextClip <> 0 then ChangeClipBoardChain(self.Handle ,HwndNextClip);


使用这个跟踪你的代码,或者就在消息过程中去实现你的代码吧
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2018-8-26 13:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-2-15 20:40:51 | 显示全部楼层
    新生借问下:memcpy在哪个头文件里?
    回复 支持 反对

    使用道具 举报

    *滑块验证:

    本版积分规则

    QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

    GMT+8, 2025-5-2 21:03 , Processed in 0.029834 second(s), 10 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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