如题,谢谢!
解决方案 »
- delphi 模糊查询(输入字母后出现小窗体,并根据字母过滤)
- delphi 线程问题
- 如何取出数据库某一记录的多个字段的值,并用Tedit显示
- 递归遍历文件时,COPY文件怎么有时候COPY的文件不全,有时才几K大小呀???
- 大虾救命啊:(分数不够,原谅啊)select * from employee where name like :name
- 用delphi写的程序如何打包?谁有打包软件
- 在DELPHI程序中怎么把对象传递给COM?
- 显示一幅大的JPG图片的时候怎么能让它一条一条的显示,就是象网页下载的似的的,下载下来就显示
- Installshield for d7的语言包
- 旧事重提:如何让某个程序的子窗体始终位于所有进程窗体的最前端?
- 如何查找文件夹1下子文件夹的个数?
- DLL接口对象释放问题
begin
//Ctrl与C按下
end;
Shift: TShiftState);
begin if (ssCtrl in Shift) and ((Key=Ord('C') or (Key=Ord('c')) then
begin
showmessage(inttostr(key));
end;总是显示17 。
if (ssCtrl in Shift) and (Key=Ord('C')) then
begin
showmessage('用户按下Ctrl+C);
end;
你只有按Ctrl+C时才会显示"用户按下Ctrl+C",按其它的不行的
Key是键盘码
按 Ctrl+C时首先按下的是Ctrl ,它会捕捉到,是单个地捕捉,而不是把Ctrl+C的组合一起捕捉。不知道会不会是DBgrdEh有什么特性在作怪呢?
if (ssCtrl in Shift) and (Key=Ord('C')) then
begin
showmessage('用户按下Ctrl+C);
end;
我用dbgrideh能通过。用你的代码测试是67。
判断用户是否按下Ctrl+Cif (ssCtrl in Shift) and (Key=Ord('C')) then
begin
//当用户按下Ctrl+C 时就会执行到这里
//相关的处理代码也在这里写
//处理代码写在外面当然不行了
end;
begin
showmessage('用户按下Ctrl+C');
end;
楼上的在用户按下Ctrl+C后面少加了个“'”,你加上试试,再不行就没办法了。
我在DBGridEh1KeyDown中捕捉时,无法抓到组合键的值,而是抓到单个的:先抓到Ctrl,再抓到C。这是问题所在。
也不存在什么Ctrl+C的键值
好人做到底吧,说说判断用户按下Ctrl+C:当按下C键,即Key=Ord('C')的同时,判断Ctrl键有无按下,即ssCtrl in Shift
组合起来就是:if (ssCtrl in Shift) and (Key=Ord('C')) then再不明白,或者装不明白我无语.......-_-||