需要判断L和K同时按下,请问大哥们怎样判断?
需要判断L和K同时按下,请问大哥们怎样判断? 问题点数:20、回复次数:12Top
1 楼kofwolfer(kofwolfer)回复于 2006-03-17 23:23:10 得分 0
救命啊Top
2 楼ky19830618(理想)回复于 2006-03-18 10:08:43 得分 0
一段检测键盘按键的代码
if(Key==13||Key==8)
{
return;
}
else if(!Key==48&&!Key==57)
{
........
}
13 和8 代表空格和回车 48.57换成你想输入的键值 你自己换成相应的键值就行
最后把代码添加到KeyPress事件里Top
3 楼kofwolfer(kofwolfer)回复于 2006-03-19 12:49:11 得分 0
大哥怎么不行啊??Top
4 楼yanhaizhong(君龙)回复于 2006-03-19 14:11:30 得分 0
代码行的,放在KEYPRESS或者BCB的MESSAGE控件里啊Top
5 楼kofwolfer(kofwolfer)回复于 2006-03-19 20:25:30 得分 0
大哥们,,不可以啊,,,
救命哈,,,,
我就像下面的那样写的,但是还是要不得的
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==13||Key==8)
{
return;
}
else if(!Key=='l'&&!Key=='k')
{
ShowMessage("yes");
}
}Top
6 楼GWI()回复于 2006-03-20 08:32:36 得分 0
KeyDown函数中
if((Key == 0x41&&GetKeyState(VK_CONTROL)<0))// //响应Ctrl+A键Top
7 楼leeky(雅痞·千年虫)回复于 2006-03-20 09:18:00 得分 0
我不知您这樣倒底行不行,但我根據你们的描述,我给如下算法看行不行:
你可以設置两个键狀態標誌:Flag1、Flag2.
比如你一按下某个键就设Flag为true,並且判斷另一个键的標誌;放幵就設置为false,
當然初始值都为false。
这样做不难吧。Top
8 楼leeky(雅痞·千年虫)回复于 2006-03-20 09:20:05 得分 0
我才发現分好少!
嘿嘿。Top
9 楼leeky(雅痞·千年虫)回复于 2006-03-20 09:43:09 得分 20
送佛到西天(嘿嘿,如果不是自己想驗證一下,才懒得在这里罗嗦半天哦):
新建一个普通工程,
在窗体上放一个TShape控件,
为窗体初始化設置處理程序,为窗體的OnKeyDown設置事件,为窗體的OnKeyUp設置事件:
全局變量:
var
FlagK,FlagL : Boolean;
procedure TForm1.FormCreate(Sender: TObject);
begin
FlagK := false;
FlagL := false;
Shape1.Brush.Color := clRed;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=75)
then FlagK:=true;
if (Key=76)
then FlagL :=true;
if (FlagK and FlagL)
then Shape1.Brush.Color := clTeal
else Shape1.Brush.Color := clRed;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=75)
then FlagK:=false;
if (Key=76)
then FlagL :=false;
if (FlagK and FlagL)
then Shape1.Brush.Color := clTeal
else Shape1.Brush.Color := clRed;
end;
Top
10 楼tianshu888(CC)回复于 2006-03-20 09:44:53 得分 0
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if(Key=='l')
{//在这启动另一个进程 判断两位一个键 k 是否已经按下
}
if(Key=='k')
{//在这启动另一个进程 判断两位一个键 l 是否已经按下
}
}Top
11 楼Ring_Pt(已是黄昏独自愁)回复于 2006-03-20 09:53:45 得分 0
除了用楼上兄弟们的代码外
记得把keyPreview的属性设置成true.Top
12 楼kofwolfer(kofwolfer)回复于 2006-03-20 18:19:38 得分 0
谢谢各位兄弟朋友
尤其感谢
leeky(雅痞·千年虫)
是他的方法测试成功
谢谢Top




