只能用测试键盘状态的API来得到状态,
不知道MFC有无封装。
不知道MFC有无封装。
解决方案 »
- windows+ardence rtx实时子系统编程,寻求建议!
- vc重装不能调试,F5不能使用了,点了没反应?
- 为什么VC要强制类型转换,而不隐式类型转换????? 贴其中的 20 分请snowbirdfly(专心搞好嵌入式~~~) 来接
- 怎么在VC7中动态创建ActiveX控件并绑定事件处理:大家都来帮忙解决问题啊!
- exe文件打開方式??
- GetDeviceCaps(...)在OnPreparePrinting()中得到不同纸型的打印页的长宽么?
- question
- 兄弟们,又来撒分啦!小问题
- 高手请帮助
- 求高手給個算法!!!
- 怎样编程实现清空IE临时文件夹和历史记录????
- 问题系列(二): 怎么使用DLL中的资源 (图片资源) (150 分)
这个程序可以和其它流程一起执行不影响。// 检测坦克1P按键
void Key1PT(void)
{
int st=16;
int Zd=0;
int xx1,yy1;
Tank1.old_y=Tank1.y;Tank1.old_x=Tank1.x;
xx1=Tank1.x;yy1=Tank1.y;
if( GetAsyncKeyState(VK_DOWN) ) //下
{
Tank1.old_y=Tank1.y;
Tank1.y+=Tank1.speed;
Tank1.fx=3;
Tank1.x=Tank1.x-Tank1.x%st;
Tank1.old_x=Tank1.x;
goto Key1PE;
}
if( GetAsyncKeyState(VK_UP) ) //上
{
Tank1.old_y=Tank1.y;
Tank1.y-=Tank1.speed;
Tank1.fx=2;
Tank1.x=Tank1.x-Tank1.x%st;
Tank1.old_x=Tank1.x;
goto Key1PE;
}
if( GetAsyncKeyState(VK_LEFT) ) //左
{
Tank1.old_x=Tank1.x;
Tank1.x-=Tank1.speed;
Tank1.fx=0;
Tank1.y=Tank1.y-Tank1.y%st;
Tank1.old_y=Tank1.y;
goto Key1PE;
}
if( GetAsyncKeyState(VK_RIGHT) ) //右
{
Tank1.old_x=Tank1.x;
Tank1.x+=Tank1.speed;
Tank1.fx=1;
Tank1.y=Tank1.y-Tank1.y%st;
Tank1.old_y=Tank1.y;
goto Key1PE;
}
Key1PE:
//普通子弹
if( (GetAsyncKeyState(VK_DELETE)) || //DELETE
(GetAsyncKeyState(VK_RETURN) || //回车
(GetAsyncKeyState(VK_SPACE)
{
//while(GetAsyncKeyState(VK_DELETE)) {}
}
if(GetAsyncKeyState(VK_DELETE)==FALSE) Tank1PP=0;
if(GetAsyncKeyState(VK_RETURN)==FALSE) Tank1PP1=0;
if(GetAsyncKeyState(VK_SPACE)==FALSE) Tank1PP2=0;}
BOOL CDlgDlg::PreTranslateMessage(MSG* pMsg)
{ if(pMsg->message == WM_KEYDOWN)
{
if((pMsg->lParam & 0x00ff) ==1)
SetTimer();
} if(pMsg->message ==WM_KEYUP)
KillTimer();
return CDialog::PreTranslateMessage(pMsg);
}