Я хотел бы реализовать эффект TAB для нескольких текстовых полей. После ввода значения в текстовое поле, а затем нажатия клавиши ввода, фокус должен быть автоматически перемещен в следующее текстовое поле (так же, как нажатие клавиши TAB с фокусом в текстовом поле). В настоящее время я пытаюсь использовать этот кусок кода в PreTranslateMessage():Эффект TAB при нажатии клавиши ENTER в VC6-MFC
if ((pMsg->wParam == VK_RETURN))
{
if(m_CeditCtrlLlaLatDegrees.GetFocus())
{
keybd_event(VK_TAB,0x09,0,0);
// keybd_event(VK_TAB,0x09,KEYEVENTF_KEYUP,0);
}
}
Приведенный выше код выталкивает фокус на текстовом поле после следующего непосредственного текстового поля (т.е. перемещается 2 вкладки вперед) Есть 20 Textboxes все взятые из CEdit, и все принимают только числовые значения.
Как получить идентификатор для каждого из этих текстовых полей? Я попытался назначить CEdit (управляющую переменную) и получить доступ к идентификатору для каждого текстового поля, а затем через оператор switch-case я бы проверил, какое текстовое поле активно, а затем SetFocus() для следующего ближайшего (все это в PreTranslateMessage()). Но даже это не сработает.
Пожалуйста, предложите способ заставить это работать. Пожалуйста, дайте мне знать поток/код в деталях, так как я новичок.
спасибо за ответ .... извините за ответ поздно ..will осуществить это и получить обратно ... Еще раз спасибо – linuxstack