Nikolay Sivov : comctl32/tab: Support for TCN_KEYDOWN notification.
Alexandre Julliard
julliard at winehq.org
Mon Oct 12 11:19:44 CDT 2009
Module: wine
Branch: master
Commit: 48fcccd861394f85ebae0065927431612e43739b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=48fcccd861394f85ebae0065927431612e43739b
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Sat Oct 10 03:27:33 2009 +0400
comctl32/tab: Support for TCN_KEYDOWN notification.
---
dlls/comctl32/tab.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index 431c54c..22af8d7 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -46,7 +46,6 @@
* NM_RELEASEDCAPTURE
* TCN_FOCUSCHANGE
* TCN_GETOBJECT
- * TCN_KEYDOWN
*
* Macros:
* TabCtrl_AdjustRect
@@ -488,9 +487,18 @@ TAB_GetItemRect(const TAB_INFO *infoPtr, INT item, RECT *rect)
*
* This method is called to handle keyboard input
*/
-static LRESULT TAB_KeyDown(TAB_INFO* infoPtr, WPARAM keyCode)
+static LRESULT TAB_KeyDown(TAB_INFO* infoPtr, WPARAM keyCode, LPARAM lParam)
{
INT newItem = -1;
+ NMTCKEYDOWN nm;
+
+ /* TCN_KEYDOWN notification sent always */
+ nm.hdr.hwndFrom = infoPtr->hwnd;
+ nm.hdr.idFrom = GetWindowLongPtrW(infoPtr->hwnd, GWLP_ID);
+ nm.hdr.code = TCN_KEYDOWN;
+ nm.wVKey = keyCode;
+ nm.flags = lParam;
+ SendMessageW(infoPtr->hwndNotify, WM_NOTIFY, nm.hdr.idFrom, (LPARAM)&nm);
switch (keyCode)
{
@@ -3473,7 +3481,7 @@ TAB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
break; /* Don't disturb normal focus behavior */
case WM_KEYDOWN:
- return TAB_KeyDown(infoPtr, wParam);
+ return TAB_KeyDown(infoPtr, wParam, lParam);
case WM_NCHITTEST:
return TAB_NCHitTest(infoPtr, lParam);
More information about the wine-cvs
mailing list