I got it. Found the answer in an old post on comp.os.ms-wondows.programmer.win32.
For anyone else who is interested, you have to trap WM_GETDLGCODE and return DLGC_WANTALLKEYS in the subclassed edit procedure, here's the code from that procedure:
LRESULT CALLBACK NewEditProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
//MessageBox (hWnd, TEXT ("Here in NewWditProc"), TEXT ("NewEditProc"), MB_OK);
switch (msg)
{
case WM_KEYDOWN:
if (wParam == VK_RETURN)
{
MessageBox (hWnd, TEXT ("Got it!"), TEXT ("NewEditProc"), MB_OK);
return 0;
}
case WM_GETDLGCODE:
return DLGC_WANTALLKEYS;
}
return CallWindowProc (g_OldDlgProc, hWnd, msg, wParam, lParam);
}