键盘触发事件
小兰 2011-11-24 04:40:56 我想当按键盘的向下键选择到listbox的第一项时,它跳到第三项,现在一点反应也没有
BOOL CALLBACK DlgProc (HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam)// 3
{ HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
FILE *fp9;
HCURSOR hCurs1, hCurs2; // cursor handles
POINT pt;
static int repeat = 1; // repeat key counter
MEASUREITEMSTRUCT *ms1;
DRAWITEMSTRUCT *ds;
//CListBox* pmyListBox;
HWND hwndListBox,hwndedit1, hwndedit2, hwndedit3, hwndedit4,
hwndedit5,hwndedit6,hwndedit7,hwndedit8;
char sum[480]=" ";
HWND SetFocus(GetDlgItem(DIALOG1.g_hToolbar,IDC_LIST1));
switch (message)
{
case WM_INITDIALOG :
return TRUE ;//对话框初始化处理
case WM_COMMAND : //命令处理
hwndListBox=GetDlgItem(DIALOG1.g_hToolbar,IDC_LIST1);
GetWindowText(hwndedit1, Rifle2.code,60); //获得edit1中的数据,建立控件与程序之间的联系
switch (LOWORD (wParam))
{
case IDC_BUTTON1 : //addstring功能
//SendMessage(hwndListBox,LB_SETITEMHEIGHT,2,1);
// SendMessage(hwndListBox,LB_SETITEMHEIGHT,4,1);
break;
case IDC_BUTTON2: //先获得鼠标所选的行数,再对其删除
break;
case IDOK:
break ;
case IDCANCEL:
break ;
}
break ;
case WM_KEYDOWN:
{
switch(wParam)
{
case VK_DOWN:
if (SendMessage(hwndListBox, LB_GETCURSEL, 0, 0) == 1)//跳到下一个项目
SendMessage(hwndListBox, LB_SETCURSEL, 3, 0);
break;
}
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return FALSE ; //没有处理返回FALSE
}