BCB key事件中判断Shift、Alt、Ctrl状态
BCB key事件中判斷Shift、Alt、Ctrl狀態:
類似此事件中
void __fastcall TForm1::keydown(TObject *Sender, WORD &Key,TShiftState Shift)
{
if(Key==VK_DELETE)
{
((TcxTextEdit*)Sender)->Top=-111;
((TcxTextEdit*)Sender)->Left=-111;
}
if(Key==VK_LEFT&&Shift.Contains(ssCtrl))
{
int left=((TcxTextEdit*)Sender)->Left-5;
if(left<0)left=0;
((TcxTextEdit*)Sender)->Left=left;
}
}
Shift是一個TShiftState集合,集合中元素值及含義參見下表
元素值及其含義:
ssShift:"Shift"鍵被按下;
ssAlt:"Alt"鍵被按下;
ssCtrl:"Ctrl"鍵被按下;
ssLeft:鼠標左鍵被按下;
ssRight:鼠標右鍵被按下;
ssMiddle:鼠標中鍵被按下;
ssDouble:左右鼠標同時被按下。
查看某一個元素是否在集合中,使用方法Contains()。
bool?__fastcall?Contains(const?T)?const;
如果集合中包含有元素T,則返回true,否則返回false。
一:字母和數字按鍵的建碼值?
?
收藏一下鍵盤虛擬鍵值
Backspace->8 ? ? ?Tab->9 Return->13 ? ? ? ? ?Pause->19 ? ? ? ? ?CapsLock->20 ? ? ? ? ? ? Esc->27 ? ? ? ? ? ? ? ?Space->32 ? ? ? ? ? ?PageUp->33 ? ? ? ? ? PageDown->34
End->35 ? ??Home->36 ? ??LeftArrow->37 ? ? ?UpArrow->38 ? ? ? ??RightArrow->39 ? ? ?DownArrow->40 ? ? ? ??PrintScrn->44 ? ? ??Insert->45 ? ? ? ? ? ? ?Delete->46
0->48 ? ? ? ??1->49 ? ? ? ? ? ? ??2->50 ? ? ? ? ? ? ?3->51 ? ? ? ? ? ? ??4->52 ? ? ? ? ? ? ? ??5->53 ? ? ? ? ? ? ??6->54 ? ? ? ? ? ?7->55 ? ? ? ? ? ??8->56 ? ? ? ? ? ? ? ??9->57
A->65 ? ?B->66 ? ? ? ? ?C->67 ? ? ? ? ? ?D->68 ? ? ? ? ? ??E->69 ? ? ? ? ? ?F->70 ? ? ? ? ? ?G->71 ? ? ? ??H->72 ? ? ? ? ??I->73 ? ? ? ? ? ?J->74 ? ? ? ??K->75 ? ? ? ? ?L->76 ? ? ? ? ? ? ??M->77
N->78 ??O->79 ? ? ? ? ?P->80 ? ? ? ? ? ?Q->81 ? ? ? ? ? ??R->82 ? ? ? ? ? ?S->83 ? ? ? ? ? ?T->84 ? ? ? ? ?U->85 ? ? ? ? ??V->86 ? ? ? ? ?W->87 ? ? ? ?X->88 ? ? ? ? ?y->89 ? ? ? ? ? ? ? ?Z->90
LWin->91 ? ? ? ? ? ? ? ? ? ??RWin->92 ? ? ? ? ? ? ? ? ?PopMenu->93
NumPad0->96 ?NumPad1->97 ?NumPad2->98 ??NumPad3->99 ??NumPad4->100 ??NumPad5->101 ??NumPad6->102 ??NumPad7->103 ??NumPad8->104 ?NumPad9->105
NumPad*->106 ? ? ? ? ? ? NumPad+->107 ? ? ? ? ?NumPad-->109 ? ? ? ? ? ? ?NumPad.->110 ? ? ? ? ? ? ? ? ?NumPad/->111
F1->112 ? ? ??F2->113 ? ? ? ?F3->114? ? ??F4->115? ? ??F5->116? ? ??F6->117? ? ??F7->118? ? ??F8->119
F9->120? ? ??F10->121? ? ??F11->122? ? ??F12->123? ? ??F13->124? ? ??F14->125? ? ??F15->126? ? ??F16->127
F17->128? ? ??F18->129? ? ??F19->130? ? ??F20->131? ? ??F21->132? ? ??F22->133? ? ??F23->134? ? ??F24->135
NumLock->144 ? ? ? ? ? ?ScrollLock->145
;->186 ? ? ? ? ?,->188 ? ? ? ? ?.->190 ? ? ? ? ? ? ?/->191 ? ? ? ? ? ? ? ?`->192 ? ? ? ? ? ? ?[->219 ? ? ? ? ? ? ?\->220 ? ? ? ? ? ? ? ? ? ??]->221 ? ? ? ? ? ? ? ? ? ? ??'->222
原文:https://blog.csdn.net/beslow/article/details/9492025
https://blog.csdn.net/u011981242/article/details/52332172/
https://jingyan.baidu.com/article/fedf073780e16335ac8977a4.html
轉載于:https://www.cnblogs.com/xiangtingshen/p/11149858.html
總結
以上是生活随笔為你收集整理的BCB key事件中判断Shift、Alt、Ctrl状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装部署及升级到Exchange Ser
- 下一篇: Java 几种showMessageDi