# HG changeset patch # User mhessling@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1049881381 0 # Node ID 7b0f00729a327a045e2bda6b89eee3eb80c7d30a # Parent 20def3eaae8d85a2f9ab7efc3f8bbc3e260703bc Implement switch-page signal for notebooks. Bit of a bug in that it fires 3 times each time you select a notebook page :-( diff -r 20def3eaae8d -r 7b0f00729a32 win/dw.c --- a/win/dw.c Wed Apr 09 09:41:34 2003 +0000 +++ b/win/dw.c Wed Apr 09 09:43:01 2003 +0000 @@ -88,7 +88,7 @@ static int in_checkbox_handler = 0; /* List of signals and their equivilent Win32 message */ -#define SIGNALMAX 14 +#define SIGNALMAX 15 SignalList SignalTranslate[SIGNALMAX] = { { WM_SIZE, DW_SIGNAL_CONFIGURE }, @@ -104,7 +104,8 @@ { LBN_SELCHANGE, DW_SIGNAL_LIST_SELECT }, { TVN_SELCHANGED, DW_SIGNAL_ITEM_SELECT }, { WM_SETFOCUS, DW_SIGNAL_SET_FOCUS }, - { WM_VSCROLL, DW_SIGNAL_VALUE_CHANGED } + { WM_VSCROLL, DW_SIGNAL_VALUE_CHANGED }, + { TCN_SELCHANGE, DW_SIGNAL_SWITCH_PAGE } }; #ifdef BUILD_DLL @@ -1574,6 +1575,16 @@ } } } + else if(tmp->message == TCN_SELCHANGE) + { + NMHDR FAR *tem=(NMHDR FAR *)mp2; + if(tmp->window == tem->hwndFrom) + { + int (*switchpagefunc)(HWND, int, void *) = tmp->signalfunction; + int num=TabCtrl_GetCurSel(tem->hwndFrom); + result = switchpagefunc(tem->hwndFrom, num, tmp->data); + } + } } break; case WM_COMMAND: