Author: cwittich
Date: Thu Jun 1 22:06:25 2006
New Revision: 22154
URL:
http://svn.reactos.ru/svn/reactos?rev=22154&view=rev
Log:
-don't update the time in the DTP control when the user is about to change it
Modified:
trunk/reactos/dll/cpl/timedate/timedate.c
Modified: trunk/reactos/dll/cpl/timedate/timedate.c
URL:
http://svn.reactos.ru/svn/reactos/trunk/reactos/dll/cpl/timedate/timedate.c…
==============================================================================
--- trunk/reactos/dll/cpl/timedate/timedate.c (original)
+++ trunk/reactos/dll/cpl/timedate/timedate.c Thu Jun 1 22:06:25 2006
@@ -52,6 +52,7 @@
static HBITMAP hBitmap = NULL;
static int cxSource, cySource;
+static WNDPROC pOldWndProc = NULL;
/* Applets */
APPLET Applets[NUM_APPLETS] =
@@ -289,6 +290,25 @@
}
+INT_PTR CALLBACK
+DTPProc(HWND hwnd,
+ UINT uMsg,
+ WPARAM wParam,
+ LPARAM lParam)
+{
+ switch (uMsg)
+ {
+ case WM_KEYDOWN:
+ /* stop the timer when the user is about to change the time */
+ if ((wParam != VK_LEFT) & (wParam != VK_RIGHT))
+ KillTimer(GetParent(hwnd), ID_TIMER);
+ return CallWindowProc(pOldWndProc, hwnd, uMsg, wParam, lParam);
+ break;
+ default:
+ return CallWindowProc(pOldWndProc, hwnd, uMsg, wParam, lParam);
+ }
+}
+
/* Property page dialog callback */
INT_PTR CALLBACK
DateTimePageProc(HWND hwndDlg,
@@ -321,6 +341,8 @@
NULL,
hApplet,
NULL);
+
+ pOldWndProc = (WNDPROC) SetWindowLong(GetDlgItem(hwndDlg, IDC_TIMEPICKER), GWL_WNDPROC,
(INT_PTR) DTPProc);
break;
case WM_TIMER: