1、在操作API的时候很多时候需要用到我们键盘上的按键,这里是对照的 常数名称 十六进制值 十进制值 对应按键 VK_LBUTTON 01 1 鼠标的左键 VK_RBUTTON 02 2 鼠标的右键 VK-CANCEL 03 3 Ctrl+Break(通常不需要处理) VK_MBUTTON 04 4 鼠标的中键(三按键鼠标) VK_BACK 08 8 Backspace键 VK_TAB 09 9 Tab键 VK_CLEAR 0C 12 Clear键(Num Lock关闭时的数字键盘5) VK_RETURN 0D 13 En
2、ter键 VK_SHIFT 10 16 Shift键 VK_CONTROL 11 17 Ctrl键 VK_MENU 12 18 Alt键 VK_PAUSE 13 19 Pause键 VK_CAPITAL 14 20 Caps Lock键 VK_ESCAPE 1B 27 Ese键 VK_SPACE 20 32 Spacebar键 VK_PRIOR 21 33 Page Up键 VK_NEXT 22 34 Page Domw键 VK_END 23 35 End键 VK_HOME 24 36 Home键 VK
3、LEFT 25 37 LEFT ARROW 键(←) VK_UP 26 38 UP ARROW键(↑) VK_RIGHT 27 39 RIGHT ARROW键(→) VK_DOWN 28 40 DOWN ARROW键(↓) VK_Select 29 41 Select键 VK_PRINT 2A 42 VK_EXECUTE 2B 43 EXECUTE键 VK_SNAPSHOT 2C 44 Print Screen键(抓屏) VK_Insert 2D 45 Ins键(Num Lock关闭时的数字键盘0) VK_Delet
4、e 2E 46 Del键(Num Lock关闭时的数字键盘.) VK_HELP 2F 47 Help键 VK_0 30 48 0键 VK_1 31 49 1键 VK_2 32 50 2键 VK_3 33 51 3键 VK_4 34 52 4键 VK_5 35 53 5键 VK_6 36 54 6键 VK_7 37 55 7键 VK_8 38 56 8键 VK_9 39 57 9键 VK_A 41 65 A键 VK_B 42 66 B键 VK_C 43 67 C键 VK_D
5、44 68 D键 VK_E 45 69 E键 VK_F 46 70 F键 VK_G 47 71 G键 VK_H 48 72 H键 VK_I 49 73 I键 VK_J 4A 74 J键 VK_K 4B 75 K键 VK_L 4C 76 L键 VK_M 4D 77 M键 VK_N 4E 78 N键 VK_O 4F 79 O键 VK_P 50 80 P键 VK_Q 51 81 Q键 VK_R 52 82 R键 VK_S 53 83 S键 VK_T 54 84 T键
6、VK_U 55 85 U键 VK_V 56 86 V键 VK_W 57 87 W键 VK_X 58 88 X键 VK_Y 59 89 Y键 VK_Z 5A 90 Z键 VK_NUMPAD0 60 96 数字键0键 VK_NUMPAD1 61 97 数字键1键 VK_NUMPAD2 62 98 数字键2键 VK_NUMPAD3 62 99 数字键3键 VK_NUMPAD4 64 100 数字键4键 VK_NUMPAD5 65 101 数字键5键 VK_NUMPAD6 66 102 数字键6键
7、VK_NUMPAD7 67 103 数字键7键 VK_NUMPAD8 68 104 数字键8键 VK_NUMPAD9 69 105 数字键9键 VK_MULTIPLY 6A 106 数字键盘上的*键 VK_ADD 6B 107 数字键盘上的+键 VK_SEPARATOR 6C 108 Separator键 VK_SUBTRACT 6D 109 数字键盘上的-键 VK_DECIMAL 6E 110 数字键盘上的.键 VK_DIVIDE 6F 111 数字键盘上的/键 VK_F1 70 112 F1键 VK_F2 7
8、1 113 F2键 VK_F3 72 114 F3键 VK_F4 73 115 F4键 VK_F5 74 116 F5键 VK_F6 75 117 F6键 VK_F7 76 118 F7键 VK_F8 77 119 F8键 VK_F9 78 120 F9键 VK_F10 79 121 F10键 VK_F11 7A 122 F11键 VK_F12 7B 123 F12键 VK_NUMLOCK 90 144 Num Lock 键 VK_SCROLL 91 145 Scroll Lock键
9、 上面没有提到的:(都在大键盘) VK_LWIN 91 左win键 VK_RWIN 92 右win键 VK_APPS 93 右Ctrl左边键,点击相当于点击鼠标右键,会弹出快捷菜单 186 ;(分号) 187 =键 188 ,键(逗号) 189 -键(减号) 190 .键(句号) 191 /键 192 `键(Esc下面) 219 [键 220 \键 221 ]键
10、 222 ‘键(引号) delphi虚拟键码对应关键 VK_LBUTTON鼠标左键 VK_RBUTTON鼠标右键 VK_CANCEL控制+休息 VK_MBUTTON鼠标中键 VK_BACK Backspace键 VK_TAB Tab键 VK_CLEAR清除主要 VK_RETURN Enter键 VK_SHIFT Shift键 VK_CONTROL Ctrl键 VK_MENU Alt键
11、 VK_PAUSE暂停关键 VK_CAPITAL Caps Lock键 VK_KANA可与输入法 VK_HANGUL可与输入法 VK_JUNJA可与输入法 VK_FINAL可与输入法 VK_HANJA可与输入法 VK_KANJI可与输入法 VK_CONVERT可与输入法 VK_NONCONVERT可与输入法 VK_ACCEPT可与输入法 VK_MODECHANGE可与输入法 VK_ESC
12、APE Esc键 VK_SPACE空间酒吧 VK_PRIOR页键 VK_NEXT下一页关键 VK_END END键 VK_HOME主页关键 VK_LEFT左箭头键 VK_UP向上键 VK_RIGHT右箭头键 VK_DOWN下箭头键 VK_SELECT选择关键 VK_PRINT打印键(键盘的具体) VK_EXECUTE执行关键 VK_SNAPSHOT Print Screen键
13、 VK_INSERT插入关键 VK_DELETE Delete键 VK_HELP帮助关键 VK_LWIN左Windows键(微软键盘) VK_RWIN右Windows键(微软键盘) VK_APPS应用关键(微软键盘) VK_NUMPAD0 0键(数字键盘) VK_NUMPAD1 1键(数字键盘) VK_NUMPAD2 2键(数字键盘) VK_NUMPAD3 3键(数字键盘) VK_NUMPAD4 4键(数字键盘)
14、 VK_NUMPAD5 5键(数字键盘) VK_NUMPAD6 6键(数字键盘) VK_NUMPAD7 7键(数字键盘) VK_NUMPAD8 8键(数字键盘) VK_NUMPAD9 9键(数字键盘) VK_MULTIPLY多键(数字键盘) VK_ADD添加键(数字键盘) VK_SEPARATOR分离键(数字键盘) VK_SUBTRACT减去键(数字键盘) VK_DECIMAL小数点键(数字键盘) VK_DIVIDE鸿沟键(数
15、字键盘) VK_F1 F1键 VK_F2 F2键 VK_F3 F3的关键 VK_F4 F4键 VK_F5 F5键 VK_F6 F6键 VK_F7 F7键 VK_F8 F8键 VK_F9 F9键 VK_F10 F10键关键 VK_F11 F11键 VK_F12 F12键 VK_F13 F13键 VK_F14 F14键 VK_F15 F15键
16、 VK_F16 F16键 VK_F17 F17键 VK_F18 F18键 VK_F19 F19键 VK_F20 F20键 VK_F21 F21键 VK_F22 F22键 VK_F23 F23键 VK_F24 F24键 VK_NUMLOCK数Lock键 VK_SCROLL滚动Lock键 VK_LSHIFT左Shift键(仅用于GetAsyncKeyState和GetKeyState )
17、VK_RSHIFT右Shift键(仅用于GetAsyncKeyState和GetKeyState ) VK_LCONTROL左Ctrl键(仅用于GetAsyncKeyState和GetKeyState ) VK_RCONTROL右Ctrl键(仅用于GetAsyncKeyState和GetKeyState ) VK_LMENU左Alt键(仅用于GetAsyncKeyState和GetKeyState ) VK_RMENU右Alt键(仅用于GetAsyncKeyState和GetKeyState ) VK_PROCES
18、SKEY工艺关键 VK_ATTN经办关键 VK_CRSEL CrSel关键 VK_EXSEL ExSel关键 VK_EREOF擦除EOF分析关键 VK_PLAY发挥关键 VK_ZOOM变焦关键 VK_NONAME保留以供将来使用 VK_PA1 PA1关键 VK_OEM_CLEAR清除主要标签数: 1 “ F14键 VK_F15 F15键 VK_F16 F16键 VK_F17 F17键
19、 VK_F18 F18键 VK_F19 F19键 VK_F20 F20键 VK_F21 F21键 VK_F22 F22键 VK_F23 F23键 VK_F24 F24键 VK_NUMLOCK数Lock键 VK_SCROLL滚动Lock键 VK_LSHIFT左Shift键(仅用于GetAsyncKeyState和GetKeyState ) VK_RSHIFT右Shift键(仅用于GetAsyncKeyState和GetKeyState
20、 VK_LCONTROL左Ctrl键(仅用于GetAsyncKeyState和GetKeyState ) VK_RCONTROL右Ctrl键(仅用于GetAsyncKeyState和GetKeyState ) VK_LMENU左Alt键(仅用于GetAsyncKeyState和GetKeyState ) VK_RMENU右Alt键(仅用于GetAsyncKeyState和GetKeyState ) VK_PROCESSKEY工艺关键 VK_ATTN经办关键 VK_CRSEL CrS
21、el关键
VK_EXSEL ExSel关键
VK_EREOF擦除EOF分析关键
VK_PLAY发挥关键
VK_ZOOM变焦关键
VK_NONAME保留以供将来使用
VK_PA1 PA1关键
VK_OEM_CLEAR清除主要
原创文章如转载,请注明:转载自心动吧DELPHI网络书 [ ]
本文链接地址:
Tags: delphi键值 #include
22、at coef;
int expn;
struct Polynomial *next;
}*Polyn,Polynomial; //Polyn为结点指针类型
void Insert(Polyn p,Polyn h){
if(p->coef==0) free(p); //系数为0的话释放结点
else{
Polyn q1,q2;
q1=h;q2=h->next;
while(q2&&p->expn
23、 if(q2&&p->expn==q2->expn){ //将指数相同相合并 q2->coef+=p->coef; free(p); if(!q2->coef){ //系数为0的话释放结点 q1->next=q2->next; free(q2); } } else{ //指数为新时将结点插入 p->next=q2; q1->next=p; } } }//Insert Polyn CreatePolyn(Polyn he
24、ad,int m){//建立一个头指针为head、项数为m的一元多项式
int i;
Polyn p;
p=head=(Polyn)malloc(sizeof(struct Polynomial));
head->next=NULL;
for(i=0;i
25、Insert函数插入结点 } return head; }//CreatePolyn void DestroyPolyn(Polyn p){//销毁多项式p Polyn q1,q2; q1=p->next; q2=q1->next; while(q1->next){ free(q1); q1=q2;//指针后移 q2=q2->next; } } void PrintPolyn(Polyn P){ Polyn q=P->next; int flag=1;//项数计数器 if(!q) { //若多项式为空,输出0 putc
26、har('0'); printf("\n"); return; } while (q){ if(q->coef>0&&flag!=1) putchar('+'); //系数大于0且不是第一项 if(q->coef!=1&&q->coef!=-1){//系数非1或-1的普通情况 printf("%g",q->coef); if(q->expn==1) putchar('X'); else if(q->expn) printf("X^%d",q->expn); } else{ if(q->coef==1){
27、 if(!q->expn) putchar('1'); else if(q->expn==1) putchar('X'); else printf("X^%d",q->expn); } if(q->coef==-1){ if(!q->expn) printf("-1"); else if(q->expn==1) printf("-X"); else printf("-X^%d",q->expn); } } q=q->next; flag++; }//while printf("\n
28、");
}//PrintPolyn
int compare(Polyn a,Polyn b){
if(a&&b){
if(!b||a->expn>b->expn) return 1;
else if(!a||a->expn
29、b,返回其头指针 Polyn qa=pa->next; Polyn qb=pb->next; Polyn headc,hc,qc; hc=(Polyn)malloc(sizeof(struct Polynomial));//建立头结点 hc->next=NULL; headc=hc; while(qa||qb){ qc=(Polyn)malloc(sizeof(struct Polynomial)); switch(compare(qa,qb)){ case 1: { qc->coef=qa->coef; qc->expn=
30、qa->expn; qa=qa->next; break; } case 0: { qc->coef=qa->coef+qb->coef; qc->expn=qa->expn; qa=qa->next; qb=qb->next; break; } case -1: { qc->coef=qb->coef; qc->expn=qb->expn; qb=qb->next; break; } }//switch if(qc->coef!=0){
31、 qc->next=hc->next; hc->next=qc; hc=qc; } else free(qc);//当相加系数为0时,释放该结点 }//while return headc; }//AddPolyn Polyn SubtractPolyn(Polyn pa,Polyn pb){//求解并建立多项式a+b,返回其头指针 Polyn h=pb; Polyn p=pb->next; Polyn pd; while(p){ //将pb的系数取反 p->coef*=-1; p=p->next;
32、 } pd=AddPolyn(pa,h); for(p=h->next;p;p=p->next) //恢复pb的系数 p->coef*=-1; return pd; }//SubtractPolyn int main(){ int m,n,flag=0; float x; Polyn pa=0,pb=0,pc,pd,pe,pf;//定义各式的头指针,pa与pb在使用前付初值NULL printf("请输入a的项数:"); scanf("%d",&m); pa=CreatePolyn(pa,m);//建立多项式a printf("请输入b
33、的项数:"); scanf("%d",&n); pb=CreatePolyn(pb,n);//建立多项式a //输出菜单 printf("**********************************************\n"); printf("操作提示:\n\t1.输出多项式a和b\n\t2.建立多项式a+b\n\t3.建立多项式a-b\n"); printf("\t4.退出\n**********************************************\n"); for(;;flag=0){ printf("执行操作:");
34、 scanf("%d",&flag); if(flag==1){ printf("多项式a:");PrintPolyn(pa); printf("多项式b:");PrintPolyn(pb);continue; } if(flag==2){ pc=AddPolyn(pa,pb); printf("多项式a+b:");PrintPolyn(pc); DestroyPolyn(pc);continue; } if(flag==3){ pd=SubtractPolyn(pa,pb); printf("多项式a-b:");PrintPolyn(pd); DestroyPolyn(pd);continue; } if(flag==4) break; if(flag<1||flag>4) printf("Error!!!\n");continue; }//for DestroyPolyn(pa); DestroyPolyn(pb); return 0; }
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818