Example #1
0
INT_PTR SceneSwitcherSettings::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
    case WM_INITDIALOG:
        MsgInitDialog();
        return TRUE;
    case WM_COMMAND:
        return MsgClicked(LOWORD(wParam), HIWORD(wParam), (HWND)lParam);
    case WM_CTLCOLORSTATIC:
		if(GetWindowLong((HWND)lParam, GWL_ID) == IDC_RUN)
		{
			HDC hdc = (HDC)wParam;
			SetTextColor(hdc, thePlugin->IsRunning() ? RGB(0,255,0) : RGB(255,0,0));
			SetBkColor(hdc, GetSysColor(COLOR_3DFACE));
			return (INT_PTR)GetSysColorBrush(COLOR_3DFACE);
		}
        break;
    case WM_NOTIFY:
        switch (LOWORD(wParam)) {
        case IDC_WSMAP:
            {
		        const NMITEMACTIVATE* lpnmitem = (LPNMITEMACTIVATE)lParam;
		        if(lpnmitem->hdr.idFrom == IDC_WSMAP && lpnmitem->hdr.code == NM_CLICK)
		        {
			        const int sel = lpnmitem->iItem;
			        if(sel >= 0)
			        {
				        HWND wsMap = GetDlgItem(hwnd, IDC_WSMAP);
				        HWND hwndAppList = GetDlgItem(hwnd, IDC_APPLIST);
				        HWND hwndMainScn = GetDlgItem(hwnd, IDC_MAINSCN);

				        // Get the text from the item
				        String wnd;
				        wnd.SetLength(256);
				        ListView_GetItemText(wsMap, sel, 0, wnd, 256);
				        String scn;
				        scn.SetLength(256);
				        ListView_GetItemText(wsMap, sel, 1, scn, 256);

				        // Set the combos
				        SetWindowText(hwndAppList, wnd);
				        SendMessage(hwndMainScn, CB_SETCURSEL, SendMessage(hwndMainScn, CB_FINDSTRINGEXACT, -1, (LPARAM)scn.Array()), 0);
			        }
                }
                return TRUE;
            }
            break;
        }
    }
    return FALSE;
}
Example #2
0
INT_PTR NoiseGateSettings::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
    case WM_INITDIALOG:
        MsgInitDialog();
        return TRUE;
    case WM_DESTROY:
        MsgDestroy();
        return TRUE;
    case WM_COMMAND:
        return MsgClicked(LOWORD(wParam), HIWORD(wParam), (HWND)lParam);
    case WM_VSCROLL:
    case WM_HSCROLL:
        return MsgScroll(message == WM_VSCROLL, wParam, lParam);
    case WM_TIMER:
        return MsgTimer((int)wParam);
    }
    return FALSE;
}