Проблема вот в чем.
Я создала окно ввода пароля.
...
case WM_CREATE:
{
cxClient = width;//floor(cxClient/4);
cyClient = height-GetSystemMetrics(SM_CYSIZE)-6;
widthB = floor(cxClient-6);
heightB = floor(cyClient/3);
//Ñîçäàíèå ìåòêè
WLabel = CreateWindow("Static", Label[0],
WS_CHILD|WS_VISIBLE|SS_CENTER,
0, 0, widthB, height-12,hWnd,
NULL, hInstance, NULL);
//Ñîçäàíèå ðåäàêòîðà
WEdit = CreateWindow("EDIT", NULL,
WS_CHILD|WS_VISIBLE|WS_BORDER|WS_TABSTOP|
ES_CENTER|ES_PASSWORD,
0, heightB-10, widthB, heightB, hWnd,
(HMENU)ID_EDIT, hInstance, NULL);
//Îãðàíè÷åíèå êîëè÷åñòâà ââîäèìûõ ñèìâîëîâ
SendMessage(WEdit, EM_LIMITTEXT,5,0);
//Ñîçäàíèå êíîïîê
WBtn1 = CreateWindow("Button", Buttons[3],
BS_DEFPUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP,
10, heightB*2-5, widthB/3, heightB, hWnd,
(HMENU)ID_OK, hInstance, NULL);
WBtn2 = CreateWindow("Button", Buttons[4],
WS_CHILD|WS_VISIBLE|WS_TABSTOP,
widthB-10-widthB/3, heightB*2-5, widthB/3, heightB, hWnd,
(HMENU)ID_EXIT, hInstance, NULL);
//Ïåðåäà÷à ôîêóñà ðåäàêòîðó
SetFocus(WEdit);
return 0;
}
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case ID_EXIT:
{
SendMessage(hWndFirst, WM_CLOSE, NULL, NULL);
return 0;
}
case ID_OK:
{
SendMessage(WEdit, EM_GETLINE, 0, (LPARAM)Code);
MessageBox(hWnd, Code, "ВНИМАНИЕ", MB_OK);
return 0;
}
....
Хочу, чтобы при нажатии Enter в однострочном редакторе выполнялась функция кнопки Принять, а при нажатии Esc - программа закрывалась.
Пробовала так
case ID_EDIT:
{
SendMessage(hWndFirst, WM_KEYDOWN, NULL, NULL);
return 0;
}
но он "не воспринимает" Esc и Enter.
Подскажите как решить проблему.