| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3125 人关注过本帖
标题:如何实现ctrl+c的复制功能
只看楼主 加入收藏
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
 问题点数:0 回复次数:16 
如何实现ctrl+c的复制功能
我自己定义了一个热键,想通过此热键来实现ctrl+c的复制功能,就是用鼠标捕捉一段文本内容,然后按下我定义的热键,就可以将选中的文本复制到剪贴板中,据说要用钩子函数,但我不知怎么去实现,请教!谢谢了!!!
搜索更多相关主题的帖子: 鼠标 功能 热键 定义 文本 
2007-09-19 17:39
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
OpenClipboard() 打开剪贴板
EmptyClipboard() 清空剪贴板
SetClipboardData() 设置剪贴板数据
CloseClipboard() 关闭剪贴板

=×&D o I p R e E n C g T l X&×=
2007-09-19 19:43
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 

这些函数我都知道,可能我没有说清楚,我是想要实现ctrl+c的复制功能,如果没有复制,怎么到剪贴板上去取数据,我是想问怎样不用ctrl+c,而用自己定义的热键去实现ctrl+c将选中的数据复制到剪贴板上。据说要用到钩子函数去挂钩这个消息,但具体应该怎么操作呢???

2007-09-20 10:34
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
那就打开资源视图的Accelerator,此时你就可看到这个程序的Default热键.
其中就有Ctrl+C,它为Copy功能.

=×&D o I p R e E n C g T l X&×=
2007-09-20 11:03
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 
还是没有理解我的意思,我是想要用自己注册的热键去实现ctrl+c的功能,并不是不知道ctrl+c在哪儿,因为我还要在我的热键中实现其他功能,所以不能用ctrl+c键。
2007-09-20 18:23
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

这那里不是可以添加或修改热键吗!


=×&D o I p R e E n C g T l X&×=
2007-09-20 19:14
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 
好像还是没有明白我的意思,我是想要用自己注册的热键去实现复制的功能,而不是要定义一个快捷键,这个应该怎么实现????希望我说清楚了!!!
2007-09-21 12:30
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
终于明白啦.哈哈....
使用RegisterHotKey()来注册热键.使用UnregisterHotKey()来注销注册的热键.
做法如下:
RegisterHotKey(m_hWnd,0xa001,MOD_CONTROL,VK_M);
这样就注册了一个Ctrl+M的热键了.
用完后再用UnregisterHotKey()来注销热键即可啦.

=×&D o I p R e E n C g T l X&×=
2007-09-21 12:55
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 

好像还是没有明白,呵呵,看来我的表述能力有待提高,怎样注册热键我知道的,关键是我想在自己的热键中实现 复制的功能,却不知怎样做,还望继续指点!!!谢谢了!!!

2007-09-22 15:04
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

这次真的是明白啦.真的.真的...

BEGIN_MESSAGE_MAP
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP

OnHotKey是处理热键的函数.
原型如下:
afx_msg HRESULT OnHotKey(WPARAM wp,LPARAM lp);
其中参数说明:
idHotKey = (int) wParam;
fuModifiers = (UINT) LOWORD(lParam);
uVirtKey = (UINT) HIWORD(lParam);


=×&D o I p R e E n C g T l X&×=
2007-09-22 15:48
快速回复:如何实现ctrl+c的复制功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031940 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved