Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > MFC, OnKeyDown


Автор: JTV 3.6.2012, 11:52
нужно нажать клавишу и по идее должно появиться окошко с strnChar, strnRepCnt, strnFlags .....НО там, видимо, ошибка....ничего не происходит...помогите исправить, что не так?
вот код в методе
Код

void CMy078786Dlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
    
    char strnChar[10];
    char strnRepCnt[10];
    char strnFlags[10];
    itoa(nChar, strnChar, 10);
    itoa(nRepCnt, strnRepCnt,10);
    itoa(nFlags, strnFlags, 10);

    CString strKeyPressed=(CString)"You pressed the key: "+
    "\n"+"nChar="+ strnChar+"\n"+"nReptCnt="+strnRepCnt+"\n"+"nFlags="+strnFlags;
    MessageBox(strKeyPressed); 
 

    CDialogEx::OnKeyDown(nChar, nRepCnt, nFlags);
}

Автор: borisbn 3.6.2012, 12:26
А оно вообще компилируется ?
Насколько я помню, У MessageBox более одного параметра

Автор: JTV 3.6.2012, 12:28
Цитата

А оно вообще компилируется ?
Насколько я помню, У MessageBox более одного параметра 

компилируется все нормально..

Автор: Dem_max 3.6.2012, 12:59
Тебе вообще в этот подфорум
http://forum.vingrad.ru/forum/VisualC++MFC-WTL.html

Автор: Albor 5.6.2012, 10:29
MessageBox - это модальный диалог и он блокирует поступление сообщений окну его вызвавшему.  Наверное предусмотрена защита "от дурака" и исключается возможность прерывания процесса обработки некоторых сообщений. Если очень хочется посмотреть, что происходит внутри такого обработчика, можно воспользоваться макросом TRACE и посмотреть тот же самый текст в окне отладчика.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)