ここから本文です

Visual C++について質問なのですが、テンキーを使ってボタンを動作させるにはどう...

las********さん

2012/8/710:20:20

Visual C++について質問なのですが、テンキーを使ってボタンを動作させるにはどうすればいいでしょうか?

できればプログラムや方法を教えてください。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
954
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

fla********さん

2012/8/921:53:13

テンキーの情報を取得するにはGetKeyStateという関数を用いるのがらくだと思います。
GetKeyStateは引数に調べたいキーを渡すと、そのキーが押されている場合は戻り値として0x80を、押されていない場合は0をもしCpasLock状態であれば0x01を返します。
また、引数なのですがテンキーの入力は普通のキーボードの数字とは違って特殊なのでwindows.hに定義されているバーチャルキーボードマクロを使用します。こいつは、非環境依存であるためwindows内においてはどんなテンキーにも対応できます。


#include<iostream>
#include<windows.h>

int main()
{
int num = 0;

if(!(GetKeyState(VK_NUMPAD0) & 0x80))
num = 0;

else if(!(GetKeyState(VK_NUMPAD1) & 0x80))
num = 1;

else if(!(GetKeyState(VK_NUMPAD2) & 0x80))
num = 2;

else if(!(GetKeyState(VK_NUMPAD3) & 0x80))
num = 3;

else if(!(GetKeyState(VK_NUMPAD4) & 0x80))
num = 4;

else if(!(GetKeyState(VK_NUMPAD5) & 0x80))
num = 5;

else if(!(GetKeyState(VK_NUMPAD6) & 0x80))
num = 6;

else if(!(GetKeyState(VK_NUMPAD7) & 0x80))
num = 7;

else if(!(GetKeyState(VK_NUMPAD8) & 0x80))
num = 8;

else if(!(GetKeyState(VK_NUMPAD9) & 0x80))
num = 9;

std::cout << num << std::endl; // Cでいうprintf()

return 0;
}

この質問は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる