我想在各edit之间实现:用户按“上”,就返回上一个edit
onkeydown代码如下:
………………
if key=VK_UP then
begin
keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_TAB, 0, KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP,0);
end
………………
这时问题来了:不管我有没有第三句调用,键盘的shift状态都没有取消!
即用户输入123变成!@#……
请教一下各位高手:我的调用哪儿出问题啦?
onkeydown代码如下:
………………
if key=VK_UP then
begin
keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_TAB, 0, KEYEVENTF_EXTENDEDKEY,0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP,0);
end
………………
这时问题来了:不管我有没有第三句调用,键盘的shift状态都没有取消!
即用户输入123变成!@#……
请教一下各位高手:我的调用哪儿出问题啦?
keybd_event(VK_SHIFT,0,0,0); //按下s
keybd_event(VK_SHIFT,0,2,0); //释放s
begin
keybd_event(VK_SHIFT, 0, 0,0);
keybd_event(VK_TAB, 0, 0,0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP,0);
end
而且,我发现这段代码在98下面就没有问题,2000下面才出现的
看来有些api用的时候要小心啊!