Mercurial > dwindows
diff win/dw.c @ 161:c555d06b6c93
Allow tree-select signal to work on container controls.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 17 Nov 2002 11:51:30 +0000 |
parents | a07dd2e819f3 |
children | d03716228b7f |
line wrap: on
line diff
--- a/win/dw.c Thu Nov 14 18:49:20 2002 +0000 +++ b/win/dw.c Sun Nov 17 11:51:30 2002 +0000 @@ -1347,6 +1347,38 @@ } } } + else if(strnicmp(tmpbuf, WC_LISTVIEW, strlen(WC_LISTVIEW)+1)==0) + { + if(tem->hdr.code == LVN_ITEMCHANGED && tmp->message == TVN_SELCHANGED) + { + if(tmp->window == tem->hdr.hwndFrom) + { + LV_ITEM lvi; + int iItem; + + iItem = ListView_GetNextItem(tmp->window, -1, LVNI_FOCUSED); + + memset(&lvi, 0, sizeof(LV_ITEM)); + + if(iItem > -1) + { + int (*containerselectfunc)(HWND, char *, void *) = tmp->signalfunction; + + lvi.iItem = iItem; + lvi.mask = LVIF_PARAM; + + ListView_GetItem(tmp->window, &lvi); + + /* Seems to be having lParam as 1 which really sucks */ + if(lvi.lParam < 100) + lvi.lParam = 0; + + containerselectfunc(tmp->window, (char *)lvi.lParam, tmp->data); + tmp = NULL; + } + } + } + } } } break;