Mercurial > dwindows
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: |