Mercurial > dwindows
comparison win/dw.c @ 110:d4c1a9ebc72f
Spinbutton behaviour cleanups.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 22 Sep 2002 13:03:39 +0000 |
parents | 94d273843a41 |
children | 1e406d67b178 |
comparison
equal
deleted
inserted
replaced
109:94d273843a41 | 110:d4c1a9ebc72f |
---|---|
1957 break; | 1957 break; |
1958 case WM_VSCROLL: | 1958 case WM_VSCROLL: |
1959 case WM_HSCROLL: | 1959 case WM_HSCROLL: |
1960 _wndproc(hWnd, msg, mp1, mp2); | 1960 _wndproc(hWnd, msg, mp1, mp2); |
1961 break; | 1961 break; |
1962 case WM_KEYDOWN: | |
1963 case WM_KEYUP: | |
1964 { | |
1965 if(mp1 == VK_UP || mp1 == VK_DOWN) | |
1966 { | |
1967 BOOL ret; | |
1968 | |
1969 if(!cinfo || !cinfo->pOldProc) | |
1970 ret = DefWindowProc(hWnd, msg, mp1, mp2); | |
1971 ret = CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2); | |
1972 | |
1973 /* Tell the spinner control that a keypress has | |
1974 * occured and to update it's internal value. | |
1975 */ | |
1976 if(cinfo && cinfo->buddy && !cinfo->combo) | |
1977 PostMessage(hWnd, WM_USER+10, 0, 0); | |
1978 | |
1979 if(msg == WM_KEYDOWN) | |
1980 SetTimer(hWnd, 101, 100, (TIMERPROC)NULL); | |
1981 else | |
1982 KillTimer(hWnd, 101); | |
1983 | |
1984 return ret; | |
1985 } | |
1986 } | |
1987 break; | |
1988 case WM_TIMER: | |
1989 { | |
1990 if(mp1 == 101) | |
1991 { | |
1992 BOOL ret; | |
1993 | |
1994 if(!cinfo || !cinfo->pOldProc) | |
1995 ret = DefWindowProc(hWnd, msg, mp1, mp2); | |
1996 ret = CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2); | |
1997 | |
1998 /* Tell the spinner control that a keypress has | |
1999 * occured and to update it's internal value. | |
2000 */ | |
2001 if(cinfo && cinfo->buddy && !cinfo->combo) | |
2002 PostMessage(hWnd, WM_USER+10, 0, 0); | |
2003 | |
2004 return ret; | |
2005 } | |
2006 } | |
2007 break; | |
1962 case WM_CHAR: | 2008 case WM_CHAR: |
1963 if(LOWORD(mp1) == '\t') | 2009 if(LOWORD(mp1) == '\t') |
1964 { | 2010 { |
1965 if(GetAsyncKeyState(VK_SHIFT) & 0x8000) | 2011 if(GetAsyncKeyState(VK_SHIFT) & 0x8000) |
1966 { | 2012 { |
1986 { | 2032 { |
1987 if(cinfo->clickdefault) | 2033 if(cinfo->clickdefault) |
1988 _click_default(cinfo->clickdefault); | 2034 _click_default(cinfo->clickdefault); |
1989 | 2035 |
1990 } | 2036 } |
1991 | |
1992 /* Tell the spinner control that a keypress has | |
1993 * occured and to update it's internal value. | |
1994 */ | |
1995 if(cinfo->buddy && !cinfo->combo) | |
1996 { | |
1997 if(IsWinNT()) | |
1998 PostMessage(cinfo->buddy, WM_USER+10, 0, 0); | |
1999 else | |
2000 SendMessage(cinfo->buddy, WM_USER+10, 0, 0); | |
2001 } | |
2002 break; | 2037 break; |
2003 case WM_USER+10: | 2038 case WM_USER+10: |
2004 { | 2039 { |
2005 if(cinfo->buddy) | 2040 if(cinfo->buddy) |
2006 { | 2041 { |
2011 else | 2046 else |
2012 val = (long)SendMessage(cinfo->buddy, UDM_GETPOS, 0, 0); | 2047 val = (long)SendMessage(cinfo->buddy, UDM_GETPOS, 0, 0); |
2013 | 2048 |
2014 sprintf(tmpbuf, "%d", val); | 2049 sprintf(tmpbuf, "%d", val); |
2015 SetWindowText(hWnd, tmpbuf); | 2050 SetWindowText(hWnd, tmpbuf); |
2016 } | |
2017 } | |
2018 break; | |
2019 case WM_KEYUP: | |
2020 { | |
2021 if(mp1 == VK_UP || mp1 == VK_DOWN) | |
2022 { | |
2023 if(cinfo->buddy) | |
2024 PostMessage(hWnd, WM_USER+10, 0, 0); | |
2025 } | 2051 } |
2026 } | 2052 } |
2027 break; | 2053 break; |
2028 case WM_CTLCOLORSTATIC: | 2054 case WM_CTLCOLORSTATIC: |
2029 case WM_CTLCOLORLISTBOX: | 2055 case WM_CTLCOLORLISTBOX: |