CEdit ,Enter
От: Aleksej_Koptenkov  
Дата: 06.06.03 09:56
Оценка:
Создал класс производный от CEdit, в обработчике OnKeyDown()



void CInPlaceEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
    switch(nChar){
    
    case VK_RETURN: str="jjhrfj";//поставил брейкпоинт сюда
                    break;
    }
    CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}


жму F5 , ввожу в эдит текст жму Enter и ничего... Не попдаю я на брейкпоинт. как перехватить нажатие Enter?
Re: CEdit ,Enter
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 06.06.03 10:31
Оценка:
Здравствуйте, Aleksej_Koptenkov, Вы писали:

A_K>Создал класс производный от CEdit, в обработчике OnKeyDown()


A_K>
A_K>void CInPlaceEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
A_K>{
A_K>    switch(nChar){  
A_K>    case VK_RETURN: str="jjhrfj";//поставил брейкпоинт сюда
A_K>                    break;
A_K>    }
A_K>    CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
A_K>}
A_K>


A_K>жму F5 , ввожу в эдит текст жму Enter и ничего... Не попдаю я на брейкпоинт. как перехватить нажатие Enter?


А кто является парентом этого EDITа? Не диалог ли часом?
- Искренне ваш, Поросенок Пафнутий
Re[2]: CEdit ,Enter
От: Aleksej_Koptenkov  
Дата: 06.06.03 10:59
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>А кто является парентом этого EDITа? Не диалог ли часом?


На ReBar повесил я этот Edit.
Re[3]: CEdit ,Enter
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 06.06.03 11:10
Оценка:
Здравствуйте, Aleksej_Koptenkov, Вы писали:

A_K>Здравствуйте, SchweinDeBurg, Вы писали:

SDB>>А кто является парентом этого EDITа? Не диалог ли часом?

A_K>На ReBar повесил я этот Edit.

А Spy++ что говорит? Куда уходит WM_KEYDOWN, когда Вы нажиамете на Enter?
- Искренне ваш, Поросенок Пафнутий
Re: CEdit ,Enter
От: ORS  
Дата: 06.06.03 11:51
Оценка:
Здравствуйте, Aleksej_Koptenkov, Вы писали:

A_K>Создал класс производный от CEdit, в обработчике OnKeyDown()


A_K>


A_K>void CInPlaceEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
A_K>{
A_K>    switch(nChar){
    
A_K>    case VK_RETURN: str="jjhrfj";//поставил брейкпоинт сюда
A_K>                    break;
A_K>    }
A_K>    CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
A_K>}
A_K>


A_K>жму F5 , ввожу в эдит текст жму Enter и ничего... Не попдаю я на брейкпоинт. как перехватить нажатие Enter?

А стиль Want return включен? Иначе этот ентер должен уходить диалогу, в твоем случае ребару
Re: CEdit ,Enter
От: Vitaton Россия  
Дата: 06.06.03 11:51
Оценка:
Здравствуйте, Aleksej_Koptenkov, Вы писали:

A_K>Создал класс производный от CEdit, в обработчике OnKeyDown()


A_K>


A_K>void CInPlaceEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
A_K>{
A_K>    switch(nChar){
    
A_K>    case VK_RETURN: str="jjhrfj";//поставил брейкпоинт сюда
A_K>                    break;
A_K>    }
A_K>    CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
A_K>}
A_K>


A_K>жму F5 , ввожу в эдит текст жму Enter и ничего... Не попдаю я на брейкпоинт. как перехватить нажатие Enter?


Обработай OnKeyUp
По умолчанирю OnKeyDown вроде как не посылается. Это кстати и Spy покажет нету такого сообщения в контроле.
Как сделать OnKeyDown я не знаю.
Может кто знает. Интересно.
Useless lamer
Re[4]: CEdit ,Enter
От: Aleksej_Koptenkov  
Дата: 06.06.03 11:57
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, Aleksej_Koptenkov, Вы писали:


A_K>>Здравствуйте, SchweinDeBurg, Вы писали:

SDB>>>А кто является парентом этого EDITа? Не диалог ли часом?

A_K>>На ReBar повесил я этот Edit.

SDB>А Spy++ что говорит? Куда уходит WM_KEYDOWN, когда Вы нажиамете на Enter?

003401ee "" Edit — так этот едит определен, жму Enter и:

003401ee P WM_KEYDOWN nVirtKey:VK_RETURN .....
003401ee P WM_KEYUP nVirtKey:VK_RETURN .......

Re[2]: CEdit ,Enter
От: Aleksej_Koptenkov  
Дата: 06.06.03 12:02
Оценка:
Здравствуйте, ORS, Вы писали:

ORS>А стиль Want return включен? Иначе этот ентер должен уходить диалогу, в твоем случае ребару


Нет, не был включен, включил, всеравно не ловится
Re[5]: CEdit ,Enter
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 06.06.03 12:05
Оценка:
Здравствуйте, Aleksej_Koptenkov, Вы писали:

A_K>003401ee "" Edit — так этот едит определен, жму Enter и:


A_K>003401ee P WM_KEYDOWN nVirtKey:VK_RETURN .....

A_K>003401ee P WM_KEYUP nVirtKey:VK_RETURN .......

A_K>


Да уж, действительно ! А WM_CHAR ловить не пробовали? Enter должен и туда прилетать.
- Искренне ваш, Поросенок Пафнутий
Re[6]: CEdit ,Enter
От: Aleksej_Koptenkov  
Дата: 07.06.03 08:53
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Здравствуйте, Aleksej_Koptenkov, Вы писали:


A_K>>003401ee "" Edit — так этот едит определен, жму Enter и:


A_K>>003401ee P WM_KEYDOWN nVirtKey:VK_RETURN .....

A_K>>003401ee P WM_KEYUP nVirtKey:VK_RETURN .......

A_K>>


SDB>Да уж, действительно ! А WM_CHAR ловить не пробовали? Enter должен и туда прилетать.


Не, тоже не ловится, буду значит патчить вижуал студио..
Re[2]: CEdit ,Enter
От: Aleksej_Koptenkov  
Дата: 08.06.03 06:32
Оценка:
Здравствуйте, Vitaton, Вы писали:

V>Здравствуйте, Aleksej_Koptenkov, Вы писали:


V>Обработай OnKeyUp

V>По умолчанирю OnKeyDown вроде как не посылается. Это кстати и Spy покажет нету такого сообщения в контроле.
V>Как сделать OnKeyDown я не знаю.
V>Может кто знает. Интересно.

OnKeyUp() -помогло. Странно однако...
Re: CEdit ,Enter
От: sam_sebe  
Дата: 18.06.03 15:46
Оценка:
Здравствуйте, Aleksej_Koptenkov, Вы писали:

A_K>Создал класс производный от CEdit, в обработчике OnKeyDown()


A_K>


A_K>void CInPlaceEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
A_K>{
A_K>    switch(nChar){
    
A_K>    case VK_RETURN: str="jjhrfj";//поставил брейкпоинт сюда
A_K>                    break;
A_K>    }
A_K>    CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
A_K>}
A_K>


A_K>жму F5 , ввожу в эдит текст жму Enter и ничего... Не попдаю я на брейкпоинт. как перехватить нажатие Enter?


Нужно Edit'у выставлять стиль ES_MULTILINE
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.