Перехват Enter в Edit
От: Igor A  
Дата: 21.03.03 20:18
Оценка:
Как обработать нажатие Enter в Edit? Что за стили надо Edit'у присвоить?
Спасибо заранее.
Re: Перехват Enter в Edit
От: TepMuHyc  
Дата: 21.03.03 20:50
Оценка:
Здравствуйте, Igor A, Вы писали:

IA>Как обработать нажатие Enter в Edit? Что за стили надо Edit'у присвоить?

ES_WANTRETURN
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
Re[2]: Перехват Enter в Edit
От: Schade Россия  
Дата: 21.03.03 21:45
Оценка:
Здравствуйте, TepMuHyc, Вы писали:

TMH>Здравствуйте, Igor A, Вы писали:


IA>>Как обработать нажатие Enter в Edit? Что за стили надо Edit'у присвоить?

TMH>ES_WANTRETURN
ES_WANTRETURN сработает только в отношении multiline edit'а. В противном случае придется либо ловить сообщение в основном message loop, либо subclass'ить edit (подменять оконную процедуру)
... << RSDN@Home 1.0 beta 6a >>
Re: Перехват Enter в Edit
От: Рома Мик Россия http://romamik.com
Дата: 21.03.03 22:50
Оценка:
Здравствуйте, Igor A, Вы писали:

IA>Как обработать нажатие Enter в Edit?

Маленько доработанный пример из MSDN.
Плюс вопрос, а зачем они перед удалением "Remove the subclass from the edit control", из принципа?
WNDPROC wpOrigEditProc; 

LRESULT APIENTRY EditBoxProc(
    HWND hwndDlg, 
    UINT uMsg, 
    WPARAM wParam, 
    LPARAM lParam) 
{ 
    HWND hwndEdit; 
 
    switch(uMsg) 
    { 
        case WM_INITDIALOG: 
            // Retrieve the handle to the edit control. 
            hwndEdit = GetDlgItem(hwndDlg, ID_EDIT); 
 
            // Subclass the edit control. 
            wpOrigEditProc = (WNDPROC) SetWindowLong(hwndEdit, 
                GWL_WNDPROC, (LONG) EditSubclassProc); 
            // 
            // Continue the initialization procedure. 
            // 
            return TRUE; 
 
        case WM_DESTROY: 
            // Remove the subclass from the edit control. 
            SetWindowLong(hwndEdit, GWL_WNDPROC, 
                (LONG) wpOrigEditProc); 
            // 
            // Continue the cleanup procedure. 
            // 
            break; 
    } 
    return FALSE; 
        UNREFERENCED_PARAMETER(lParam); 
} 
 
// Subclass procedure 
LRESULT APIENTRY EditSubclassProc(
    HWND hwnd, 
    UINT uMsg, 
    WPARAM wParam, 
    LPARAM lParam) 
{ 
    if(WM_KEYUP == uMsg && VK_RETURN == wParam)
        // Делай что надо
        ;
 
    return CallWindowProc(wpOrigEditProc, hwnd, uMsg, 
        wParam, lParam); 
}
... << RSDN@Home 1.0 beta 6a >>
Re: Перехват Enter в Edit
От: Jenyay http://jenyay.net
Дата: 22.03.03 05:43
Оценка:
Здравствуйте, Igor A, Вы писали:

IA>Как обработать нажатие Enter в Edit? Что за стили надо Edit'у присвоить?

IA>Спасибо заранее.

А, может, стоит установить для родителя Edit-a горячую клавишу Enter? А обрабатывать можно, если курсор стоит в Edit.
... << RSDN@Home 1.0 beta 6 >>
Софт, исходники и фото
Re[2]: Перехват Enter в Edit
От: Igor A  
Дата: 22.03.03 06:19
Оценка:
Здравствуйте, Jenyay, Вы писали:

J>А, может, стоит установить для родителя Edit-a горячую клавишу Enter? А обрабатывать можно, если курсор стоит в Edit.

Спасибо за помошь.
Ага, а как установить горячюю клавишу?
Re[3]: Перехват Enter в Edit
От: Slicer [Wirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 22.03.03 06:24
Оценка:
Поищи здесь (или сразу на MSDN) RegisterHotkey.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re: Перехват Enter в Edit
От: Игорь Вартанов Ниоткуда  
Дата: 25.03.03 09:45
Оценка:
Здравствуйте, Igor A, Вы писали:

IA>Как обработать нажатие Enter в Edit? Что за стили надо Edit'у присвоить?

IA>Спасибо заранее.

Смотреть здесь
---
С уважением,
Игорь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.