【delphi】问一个简单的delphi编程问题
来源:百度知道 编辑:UC知道 时间:2024/05/27 18:21:21
现我想通过键盘(鼠标的功能不能取消)也可以实现这个功能,比如按数字键盘的“+”号一下就选上,再按一下又去掉那个勾。。。
★ 我要具体的代码,提供最佳答案的追加分数。。。
先激活checkbox1的事件OnKeyUp,TabOrder设为0,具体代码如下:
procedure TForm1.CheckBox1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_ADD then
begin
if CheckBox1.checked = false then
CheckBox1.Checked:= true
else
CheckBox1.checked:= false;
end
end;
就5分 也就能给你这么多提示,需要具体代码加分
RegisterHotKey
(
HWND hWnd,
//响应该热键的窗口句柄
Int id,
//该热键的唯一标识
UINT fsModifiers,
//该热键的辅助按键
UINT vk
//该热键的键值
);
用上面api 注册一个热键
procedure TForm1.CheckBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_ADD then
CheckBox1.checked:= true
else if key=vk_SUBTRACT then
CheckBox1.Checked:= false;
end;
不过你必须得将CheckBox1的TabOrder设为0,也就是将焦点定位在CheckBox1上,给分吧!朋友
用windows键盘函数即可