static LRESULT CALLBACK WndProcTocBox(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    WindowInfo *win = FindWindowInfoByHwnd(hwnd);
    if (!win)
        return CallWindowProc(DefWndProcTocBox, hwnd, msg, wParam, lParam);

    switch (msg) {
        case WM_SIZE:
            LayoutTreeContainer(win->tocLabelWithClose, win->hwndTocTree);
            break;

        case WM_COMMAND:
            if (LOWORD(wParam) == IDC_TOC_LABEL_WITH_CLOSE)
                ToggleTocBox(win);
            break;

        case WM_NOTIFY:
            if (LOWORD(wParam) == IDC_TOC_TREE) {
                LRESULT res = OnTocTreeNotify(win, (LPNMTREEVIEW)lParam);
                if (res != -1)
                    return res;
            }
            break;
    }
    return CallWindowProc(DefWndProcTocBox, hwnd, msg, wParam, lParam);
}
Esempio n. 2
0
static LRESULT CALLBACK WndProcFavBox(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
    WindowInfo* win = FindWindowInfoByHwnd(hwnd);
    if (!win)
        return CallWindowProc(DefWndProcFavBox, hwnd, message, wParam, lParam);
    switch (message) {
        case WM_SIZE:
            LayoutTreeContainer(win->favLabelWithClose, win->hwndFavTree);
            break;

        case WM_COMMAND:
            if (LOWORD(wParam) == IDC_FAV_LABEL_WITH_CLOSE)
                ToggleFavorites(win);
            break;

        case WM_NOTIFY:
            if (LOWORD(wParam) == IDC_FAV_TREE) {
                LPNMTREEVIEW pnmtv = (LPNMTREEVIEW)lParam;
                LRESULT res = OnFavTreeNotify(win, pnmtv);
                if (res != -1)
                    return res;
            }
            break;

        case WM_CONTEXTMENU:
            if (win->hwndFavTree == (HWND)wParam) {
                OnFavTreeContextMenu(win, PointI(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
                return 0;
            }
            break;
    }
    return CallWindowProc(DefWndProcFavBox, hwnd, message, wParam, lParam);
}