comparison win/dw.c @ 332:7b0f00729a32

Implement switch-page signal for notebooks. Bit of a bug in that it fires 3 times each time you select a notebook page :-(
author mhessling@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 09 Apr 2003 09:43:01 +0000
parents e00aff2b899e
children 0a15a1f3fbed
comparison
equal deleted inserted replaced
331:20def3eaae8d 332:7b0f00729a32
86 } SignalList; 86 } SignalList;
87 87
88 static int in_checkbox_handler = 0; 88 static int in_checkbox_handler = 0;
89 89
90 /* List of signals and their equivilent Win32 message */ 90 /* List of signals and their equivilent Win32 message */
91 #define SIGNALMAX 14 91 #define SIGNALMAX 15
92 92
93 SignalList SignalTranslate[SIGNALMAX] = { 93 SignalList SignalTranslate[SIGNALMAX] = {
94 { WM_SIZE, DW_SIGNAL_CONFIGURE }, 94 { WM_SIZE, DW_SIGNAL_CONFIGURE },
95 { WM_CHAR, DW_SIGNAL_KEY_PRESS }, 95 { WM_CHAR, DW_SIGNAL_KEY_PRESS },
96 { WM_LBUTTONDOWN, DW_SIGNAL_BUTTON_PRESS }, 96 { WM_LBUTTONDOWN, DW_SIGNAL_BUTTON_PRESS },
102 { NM_DBLCLK, DW_SIGNAL_ITEM_ENTER }, 102 { NM_DBLCLK, DW_SIGNAL_ITEM_ENTER },
103 { NM_RCLICK, DW_SIGNAL_ITEM_CONTEXT }, 103 { NM_RCLICK, DW_SIGNAL_ITEM_CONTEXT },
104 { LBN_SELCHANGE, DW_SIGNAL_LIST_SELECT }, 104 { LBN_SELCHANGE, DW_SIGNAL_LIST_SELECT },
105 { TVN_SELCHANGED, DW_SIGNAL_ITEM_SELECT }, 105 { TVN_SELCHANGED, DW_SIGNAL_ITEM_SELECT },
106 { WM_SETFOCUS, DW_SIGNAL_SET_FOCUS }, 106 { WM_SETFOCUS, DW_SIGNAL_SET_FOCUS },
107 { WM_VSCROLL, DW_SIGNAL_VALUE_CHANGED } 107 { WM_VSCROLL, DW_SIGNAL_VALUE_CHANGED },
108 { TCN_SELCHANGE, DW_SIGNAL_SWITCH_PAGE }
108 }; 109 };
109 110
110 #ifdef BUILD_DLL 111 #ifdef BUILD_DLL
111 void Win32_Set_Instance(HINSTANCE hInstance) 112 void Win32_Set_Instance(HINSTANCE hInstance)
112 { 113 {
1570 treeselectfunc(tmp->window, 0, (char *)lvi.lParam, tmp->data, 0); 1571 treeselectfunc(tmp->window, 0, (char *)lvi.lParam, tmp->data, 0);
1571 tmp = NULL; 1572 tmp = NULL;
1572 } 1573 }
1573 } 1574 }
1574 } 1575 }
1576 }
1577 }
1578 else if(tmp->message == TCN_SELCHANGE)
1579 {
1580 NMHDR FAR *tem=(NMHDR FAR *)mp2;
1581 if(tmp->window == tem->hwndFrom)
1582 {
1583 int (*switchpagefunc)(HWND, int, void *) = tmp->signalfunction;
1584 int num=TabCtrl_GetCurSel(tem->hwndFrom);
1585 result = switchpagefunc(tem->hwndFrom, num, tmp->data);
1575 } 1586 }
1576 } 1587 }
1577 } 1588 }
1578 break; 1589 break;
1579 case WM_COMMAND: 1590 case WM_COMMAND: