From 85cf754ff86c053c4f7a34b57b1528c0cf655b35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Wed, 2 Mar 2022 21:48:41 +0100 Subject: Open episode on Enter. This case cannot be handled by NM_RETURN, as the Return key is handled by IsDialogMessage (in the message loop in main), which sends a WM_GETDLGCODE message to the active control. --- c/listview.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'c/listview.c') diff --git a/c/listview.c b/c/listview.c index 7039e89..3025297 100644 --- a/c/listview.c +++ b/c/listview.c @@ -47,6 +47,20 @@ LvProc(HWND hLv, UINT uMsg, WPARAM wParam, LPARAM lParam) return TRUE; } break; + case WM_GETDLGCODE: /* Open episode on Enter. */ + { + LRESULT lResult; + extern HWND HElv; + extern LPLVITEM LpLviElvSelection; + if (hLv != HElv) break; + lResult = CallWindowProc(LvPrevProc, hLv, uMsg, wParam, lParam); + if (lParam && ((MSG *)lParam)->message == WM_KEYDOWN + && ((MSG *)lParam)->wParam == VK_RETURN) { + lResult &= ~DLGC_WANTMESSAGE; + ElvEnter(LpLviElvSelection); + } + return lResult; + } } return CallWindowProc(LvPrevProc, hLv, uMsg, wParam, lParam); -- cgit v1.2.3