请问用VC或C#写软键盘 如何响应输入的内容?
是这样的,软键盘的界面已经做出来了,问题是每个按钮的对应事件该怎么响应,比如,我打开了QQ,用我做的软键盘输入用户名和密码,用鼠标点击了R按钮,如何把R这个字母输入到用户...
是这样的,软键盘的界面已经做出来了,问题是每个按钮的对应事件该怎么响应,比如,我打开了QQ,用我做的软键盘输入用户名和密码,用鼠标点击了 R 按钮 ,如何把R这个字母输入到用户名和密码的框内,谢谢了!
展开
6个回答
展开全部
最主要是令你软盘程序无有焦点就可以了, 创建的软盘程序窗口应该有
WS_EX_NOACTIVATE 风格,当拥有这个风格的窗口不会获得输入焦点,即使你按窗口上的按钮,此时的输入焦点还是会在之前的窗口上。
示例程序下载(请不要直接使用迅雷下载)
http://cid-3ba16e78a53d2d3d.office.live.com/self.aspx/VC%5EM%5EM/SoftKeyboard.zip
部分主要代码:
在对话框的OnInitDialog()里添加以下代码即可。
BOOL CDemoDlg::OnInitDialog()
{
//设置窗口无焦点
#define WS_EX_NOACTIVATE 0x08000000L //无焦点
::SetWindowLong(m_hWnd,GWL_EXSTYLE, GetWindowLong(m_hWnd,GWL_EXSTYLE)&~WS_EX_APPWINDOW|WS_EX_NOACTIVATE);
::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,245,800,SWP_FRAMECHANGED|SWP_NOMOVE|SWP_NOSIZE);
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
return TRUE;
}
WS_EX_NOACTIVATE 风格,当拥有这个风格的窗口不会获得输入焦点,即使你按窗口上的按钮,此时的输入焦点还是会在之前的窗口上。
示例程序下载(请不要直接使用迅雷下载)
http://cid-3ba16e78a53d2d3d.office.live.com/self.aspx/VC%5EM%5EM/SoftKeyboard.zip
部分主要代码:
在对话框的OnInitDialog()里添加以下代码即可。
BOOL CDemoDlg::OnInitDialog()
{
//设置窗口无焦点
#define WS_EX_NOACTIVATE 0x08000000L //无焦点
::SetWindowLong(m_hWnd,GWL_EXSTYLE, GetWindowLong(m_hWnd,GWL_EXSTYLE)&~WS_EX_APPWINDOW|WS_EX_NOACTIVATE);
::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,245,800,SWP_FRAMECHANGED|SWP_NOMOVE|SWP_NOSIZE);
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
return TRUE;
}
展开全部
我是这样觉得哈。其实键盘的每个按键你都可以做成一个按钮的形式的,这样的话,你在编写程序的时候呢,就可以在每个按钮里面添加对应的事件即可的。
或者你可以使用一个死循环来捕捉你的按钮事件的,然后在这个死循环里面来进行一个switch来进行判断是哪个按钮按下的,然后在case语句里面来编写相应的函数即可的额,或者你可以把函数放在外面,然后在这个CASE 语句里面就直接调用函数也是可以额的。。
或者你可以使用一个死循环来捕捉你的按钮事件的,然后在这个死循环里面来进行一个switch来进行判断是哪个按钮按下的,然后在case语句里面来编写相应的函数即可的额,或者你可以把函数放在外面,然后在这个CASE 语句里面就直接调用函数也是可以额的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的意思是如何获取用户输入的内容的话,就用“scanf();”
例如:
float a;
printf("please enter a number:\n");
scanf("%f",&a);
例如:
float a;
printf("please enter a number:\n");
scanf("%f",&a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按钮的点击事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哈哈我有一个用jquery写的你要吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询