c语言怎么调用软键盘,VC++中如何实现软键盘功能

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

何必偶家个

2018.07.31

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:44%    等级:8

已帮助:11人

在dialog中是不能响应WM_KEYDOWN的 如果要响应的话 可以重载BOOL CKeseDlg::PreTranslateMessage(MSG* pMsg) 这个函数

在MFC(Microsoft Foundation Class)对响应消息进行了封装,

可以通过重载虚函数PreTranslateMessage()对所关心的消息进行截取与响应:

以下对截取与响应键盘 Enter 消息的截取与响应

这是对话框的响应键盘 Enter 消息方式:

BOOL C**Dlg::PreTranslateMessage(MSG* pMsg)

{

// TODO: 在此添加专用代码和/或调用基类

//判断是否为键盘消息

if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)

{

//判断是否按下键盘Enter键

if(pMsg->wParam==VK_RETURN)

{

//Do anything what you want to

return TRUE;

}

}

return CDialog::PreTranslateMessage(pMsg);

}

这是View视图类响应键盘 Enter 消息的方式:

BOOL C**View::PreTranslateMessage(MSG* pMsg)

{

if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)

{

if(pMsg->wParam==VK_RETURN )

{

//Do anything you want here

return TRUE;

}

}

return CFormView::PreTranslateMessage(pMsg);

}

00分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值