※ ChatGPTを利用し、要約された質問です(原文:VC++のLV_KEYDOWNについて)
VC++のLV_KEYDOWNでCtrl + sを検出できない原因は?
このQ&Aのポイント
VC++のLV_KEYDOWNにおいて、Ctrl + sを検出できない原因を教えてください。
質問者は、キーボードのショートカット処理関数を作成していますが、Ctrl + sを検出できません。
Ctrl + aの検出はできるため、何か特別な原因があるのでしょうか?
キーボードのショートカット処理の関数を作成しているのですが、Ctrl + sでデフォルトの保存処理ではなく
別の処理を作成したいと考えております。
ですが下記のように実装してもCtrl + sを検出できません。(Ctrl + a)は検出するのですが。
何か原因があるのでしょうか?
ご存知の方がいましたらご教授いただけないでしょうか?
void OnKeydown(NMHDR* pNMHDR,
LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
SHORT nCtrl = 0;
switch(pLVKeyDow->wVKey)
{
case 's':
case 'S':
nCtrl = GetKeyState(VK_CONTROL);
if(nCtrl >= 0)
{
// Ctrlキーが押下されていない場合
break;
}
// Ctrl + sの処理
break;
case 'a':
case 'A':
nCtrl = GetKeyState(VK_CONTROL);
if(nCtrl >= 0)
{
// Ctrlキーが押下されていない場合
break;
}
// Ctrl + aの処理
break;
}
*pResult = 0;
}
お礼
・・・おっしゃる通りでした。 全然気づきませんでした。 ありがとうございます。