У меня проблема с ключом del
в моем приложении MFC.
Я определил запись ускорителя для использования клавиши del
в моем CTreeView.
моем приложениииспользует разделенное представление. CTreeView
находится на левой панели, а CEdit
Control - на правой панели внутри CFormView
.
Запись определяется следующим образом:
VK_DELETE, ID_EDIT_DELETE, VIRTKEY, NOINVERT
The *Событие 1016 * обрабатывается внутри CTreeView
.
После того, как я его добавил, ключ del
перестал работать внутри элементов управления CEdit
.
Что нужно сделать, чтобы восстановитьфункциональность в CEdit Control? Должен ли я добавить что-то вроде:
ON_COMMAND(ID_EDIT_DELETE, &StationView::OnDelete)
к каждой панели, которая содержит CEdit Control
? А затем вручную реализовать функцию удаления символов? Или есть более простой способ передать событие del
Key в CEdit
Control?
ОБНОВЛЕНИЕ:
Я переписал метод PreTranslateMessage
внутри класса CFormView
иDel Key Press пойман. Но как мне продолжить дальше?
ОБНОВЛЕНИЕ V2:
Как указано здесь, Код для создания сплиттера:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext) {
// create splitter window
if (!m_wndSplitter.CreateStatic(this, 1, 2)) {
return FALSE;
}
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(250, 1000), pContext) ||
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CLineSyncView), CSize(500, 1000), pContext)) {
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
}