D
baah THX
die ComboBoxEx Kommandos werden über WM_Notify gesendet, der Rest über WM_COMMAND - ich hab da wohl was falsches angenommen.
Leider isses so, dass die Enter-Taste nicht als Eingabe-Ende angenommen wird. Ich vermute es liegt am Dialogmanager.
ich habe so die WndProc der ComboBox umgebogen, um so auf den Dialogmanager reagieren zu können. Also die Entertaste abzufangen und so darauf reagieren zu können.
Leider funktioniert es nicht. Irgendwelche Fehler?
LRESULT CALLBACK m_LocalAddressComboBox_WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_KEYDOWN)
//wParam == VK_RETURN)
MessageBox(hwnd,_T("123"),_T("123"),0);
LONG oldWnd = (LONG)GetWindowLong(hwnd,GWL_USERDATA);
LRESULT lres = CallWindowProc((WNDPROC)oldWnd, hwnd, uMsg, wParam, lParam);
if ((uMsg == WM_GETDLGCODE) && lParam &&
((MSG *)lParam)->message == WM_KEYDOWN &&
((MSG *)lParam)->wParam == VK_RETURN)
lres |= DLGC_WANTMESSAGE;
return lres;
}
...oninitdialog
LONG oldWnd = (LONG)m_LocalAddressComboBox.GetWindowLong(GWL_WNDPROC);
m_LocalAddressComboBox.SetWindowLong(GWL_USERDATA, (LONG)oldWnd);
m_LocalAddressComboBox.SetWindowLong(GWL_WNDPROC, (LONG)&m_LocalAddressComboBox_WindowProc);