DPRINT->DPRINT1 in key places (when something fails we shouldn't keep silence).
[reactos.git] / rosapps / dflat32 / spinbutt.c
1 /* ------------ spinbutt.c ------------- */
2
3 #include "dflat.h"
4
5 int DfSpinButtonProc(DFWINDOW wnd, DFMESSAGE msg, DF_PARAM p1, DF_PARAM p2)
6 {
7 int rtn;
8 DF_CTLWINDOW *ct = DfGetControl(wnd);
9 if (ct != NULL) {
10 switch (msg) {
11 case DFM_CREATE_WINDOW:
12 wnd->wd -= 2;
13 wnd->rc.rt -= 2;
14 break;
15 case DFM_SETFOCUS:
16 rtn = DfBaseWndProc(DF_SPINBUTTON, wnd, msg, p1, p2);
17 if (!(int)p1)
18 DfSendMessage(NULL, DFM_HIDE_CURSOR, 0, 0);
19 DfSetFocusCursor(wnd);
20 return rtn;
21 case DFM_PAINT:
22 DfForeground = DfWndBackground(wnd);
23 DfBackground = DfWndForeground(wnd);
24 DfWPutch(wnd,DF_UPSCROLLBOX,DfWindowWidth(wnd), 0);
25 DfWPutch(wnd,DF_DOWNSCROLLBOX,DfWindowWidth(wnd)+1,0);
26 DfSetFocusCursor(wnd);
27 break;
28 case DFM_LEFT_BUTTON:
29 if (p1 == DfGetRight(wnd) + 1)
30 DfSendMessage(wnd, DFM_KEYBOARD, DF_UP, 0);
31 else if (p1 == DfGetRight(wnd) + 2)
32 DfSendMessage(wnd, DFM_KEYBOARD, DF_DN, 0);
33 if (wnd != DfInFocus)
34 DfSendMessage(wnd, DFM_SETFOCUS, TRUE, 0);
35 return TRUE;
36 case DFM_LB_SETSELECTION:
37 rtn = DfBaseWndProc(DF_SPINBUTTON, wnd, msg, p1, p2);
38 wnd->wtop = (int) p1;
39 DfSendMessage(wnd, DFM_PAINT, 0, 0);
40 return rtn;
41 default:
42 break;
43 }
44 }
45 return DfBaseWndProc(DF_SPINBUTTON, wnd, msg, p1, p2);
46 }
47
48 /* EOF */