SDK编程再次提问,我的加速键为什么有问题?
我的加速键程序出什么问题了,能帮我改一个成功的吗?
加速键.h
#define IDA_TEST 10
#define IDA_TESTT 11
#define IDA_TESTTT 12
#define IDA_TESTTTT 13
#define IDA_TESTTTTT 14
加速键.rc
#include <windows.h>
#include "加速键.h"
MyAccel MENU
{
POPPU "加速键测试"
{
MENUITEM "TEST",IDA_TEST
MENUITEM "TSETT",IDA_TESTT
MENUITEM "TESTTT",IDA_TESTTT
MENUITEM "TESTTTT",IDA_TESTTTT
MENUITEM "TESTTTTT",IDA_TESTTTTT
}
}
MyAccel ACCELERATORS
{
"^C", IDA_TEST, ASCII
"A", IDA_TESTT, ASCII, SHIFT
"B", IDA_TESTTT, ASCII, ALT
"D" IDA_TESTTTT, ASCII, SHIFT ,ALT
VK_F1, IDA_TESTTTTT, VIRTKEY
}加速键.cpp
#include <windows.h>
#include "加速键.h"
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam ,LPARAM lParam)
{
int i;
switch(message)
{
case WM_COMMAND:
i=LOWORD(wParam);
switch(i)
{
case IDA_TEST:
MessageBox(hWnd,"TEST","成功",MB_OK);
break;
case IDA_TESTT:
MessageBox(hWnd,"TESTT","成功",MB_OK);
break;
case IDA_TESTTT:
MessageBox(hWnd,"TESTTT","成功",MB_OK);
break;
case IDA_TESTTTT:
MessageBox(hWnd,"TESTTTT","成功",MB_OK);
break;
case IDA_TESTTTTT:
MessageBox(hWnd,"TESTTTTT","成功",MB_OK);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,message,wParam,lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hpInstance,
LPSTR lpszCmdLine,
int nCmdShow)
{
HWND hWnd;
MSG msg;
HACCEL hAccel;
WNDCLASS wc;
char lpszClassName[]="加速键";
char lpszTitle[]="加速键";
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hInstance=hInstance;
wc.lpfnWndProc=WndProc;
wc.lpszClassName=lpszClassName;
wc.lpszMenuName=0;
wc.style=0;
hAccel=LoadAccelerators(hInstance,"MyAccel");
if(!RegisterClass(&wc))
{
MessageBox(NULL,"注册失败",NULL,MB_OK);
return 0;
}
hWnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg,NULL,0,0))
{
if(!TranslateAccelerator(hWnd,hAccel,&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return 0;
}