⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialogs.c

📁 uclinux下mplayer的源码
💻 C
📖 第 1 页 / 共 3 页
字号:
    wc.style         = CS_HREDRAW | CS_VREDRAW;    wc.lpfnWndProc   = SkinBrowserWndProc;    wc.cbClsExtra    = 0;    wc.cbWndExtra    = 0;    wc.hInstance     = hInstance;    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);    wc.hIcon         = gui->icon;    wc.hbrBackground = SOLID_GREY2;    wc.lpszClassName = "Skin Browser";    wc.lpszMenuName  = NULL;    RegisterClass(&wc);    x = (GetSystemMetrics(SM_CXSCREEN) / 2) - (180 / 2);    y = (GetSystemMetrics(SM_CYSCREEN) / 2) - (102 / 2);    hWnd = CreateWindow("Skin Browser",                        "Skin Browser",                        WS_POPUPWINDOW |WS_CAPTION,                        x,                        y,                        180,                        102,                        NULL,                        NULL,                        hInstance,                        NULL);   SetWindowLongPtr(hWnd, GWLP_USERDATA, (DWORD) gui);   ShowWindow(hWnd, SW_SHOW);   UpdateWindow(hWnd);}#ifdef USE_DVDREADstatic LRESULT CALLBACK TitleChapterWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam){    static HWND title;    static HWND chapter;    HWND wdg;    int i=0, j=0;    char titles[MAX_PATH] = "";    char chapters[MAX_PATH] = "";    gui_t *gui = (gui_t *) GetWindowLongPtr(hwnd, GWLP_USERDATA);    switch (iMsg)    {        case WM_CREATE:            wdg = CreateWindow("button", "Ok",                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,                               4, 43, 80, 25, hwnd,                               (HMENU) ID_OK,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);                              SendMessage(wdg, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            wdg = CreateWindow("button", "Cancel",                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,                               90, 43, 80, 25, hwnd,                               (HMENU) ID_CANCEL,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);                              SendMessage(wdg, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            title = CreateWindow("combobox", NULL,                                 CBS_DROPDOWNLIST | CB_SHOWDROPDOWN | CBS_NOINTEGRALHEIGHT | CBS_HASSTRINGS |                                 WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP,                                 4, 10, 80, 160, hwnd,                                 (HMENU) ID_TITLESEL,                                 ((LPCREATESTRUCT) lParam) -> hInstance,                                 NULL);            SendMessage(title, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            chapter = CreateWindow("combobox", NULL,                                 CBS_DROPDOWNLIST | CB_SHOWDROPDOWN | CBS_NOINTEGRALHEIGHT | CBS_HASSTRINGS |                                 WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP,                                 90, 10, 80, 160, hwnd,                                 (HMENU) ID_CHAPTERSEL,                                 ((LPCREATESTRUCT) lParam) -> hInstance,                                 NULL);            SendMessage(chapter, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            for (i=0; i<guiIntfStruct.DVD.titles; i++)            {                /* we have to reverse the order here because of the way CB_INSERTSTRING adds items */                sprintf(&titles[i], "%d", guiIntfStruct.DVD.titles - i);                SendDlgItemMessage(hwnd, ID_TITLESEL, CB_INSERTSTRING, 0, (LPARAM) &titles[i]);            }            SendDlgItemMessage(hwnd, ID_TITLESEL, CB_SETCURSEL, dvd_title, 0);            for (j=0; j<guiIntfStruct.DVD.chapters; j++)            {                sprintf(&chapters[j], "%d", guiIntfStruct.DVD.chapters - j);                SendDlgItemMessage(hwnd, ID_CHAPTERSEL, CB_INSERTSTRING, 0, (LPARAM) &chapters[j]);            }            SendDlgItemMessage(hwnd, ID_CHAPTERSEL, CB_SETCURSEL, dvd_chapter, 0);            break;        case WM_COMMAND:        {            switch (LOWORD(wParam))            {                case ID_CANCEL:                    DestroyWindow(hwnd);                    return 0;                case ID_OK:                {                    guiIntfStruct.DVD.current_title = SendMessage(title, CB_GETCURSEL, 0, 0) + 1;                    guiIntfStruct.DVD.current_chapter = SendMessage(chapter, CB_GETCURSEL, 0, 0) + 1;                    if((guiIntfStruct.DVD.current_title != 0 || guiIntfStruct.DVD.current_chapter != 0))                    {                        gui->startplay(gui);                        DestroyWindow(hwnd);                    }                }                break;            }        }        return 0;        case WM_DESTROY:            PostQuitMessage (0);            return 0;    }    return DefWindowProc(hwnd, iMsg, wParam, lParam);}void display_chapterselwindow(gui_t *gui){    HWND hWnd;    HINSTANCE hInstance = GetModuleHandle(NULL);    WNDCLASS wc;    int x, y;    if (guiIntfStruct.StreamType != STREAMTYPE_DVD) return;    if (FindWindow(NULL, "Select Title/Chapter...")) return;    wc.style         = CS_HREDRAW | CS_VREDRAW;    wc.lpfnWndProc   = TitleChapterWndProc;    wc.cbClsExtra    = 0;    wc.cbWndExtra    = 0;    wc.hInstance     = hInstance;    wc.hCursor       = LoadCursor(NULL,IDC_ARROW);    wc.hIcon         = gui->icon;    wc.hbrBackground = SOLID_GREY2;    wc.lpszClassName = "Select Title/Chapter...";    wc.lpszMenuName  = NULL;    RegisterClass(&wc);    x = (GetSystemMetrics(SM_CXSCREEN) / 2) - (180 / 2);    y = (GetSystemMetrics(SM_CYSCREEN) / 2) - (100 / 2);    hWnd = CreateWindow("Select Title/Chapter...",                        "Select Title/Chapter...",                        WS_POPUPWINDOW | WS_CAPTION,                        x,                        y,                        180,                        100,                        NULL,                        NULL,                        hInstance,                        NULL);   SetWindowLongPtr(hWnd, GWLP_USERDATA, (DWORD) gui);   ShowWindow(hWnd, SW_SHOW);   UpdateWindow(hWnd);}#endifstatic LRESULT CALLBACK EqWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam){    HWND btn, label, eq0, eq1, eq2, eq3;    switch (iMsg)    {        case WM_CREATE:        {            btn = CreateWindow("button", "Reset",                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,                               157, 143, 80, 25, hwnd,                               (HMENU) ID_DEFAULTS,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);            SendMessage(btn, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            btn = CreateWindow("button", "Close",                               WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,                               243, 143, 80, 25, hwnd,                               (HMENU) ID_CLOSE,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);            SendMessage(btn, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            label = CreateWindow("static", "Brightness",                                 WS_CHILD | WS_VISIBLE,                                 12, 122, 70, 15, hwnd,                                 NULL,                                 ((LPCREATESTRUCT) lParam) -> hInstance,                                 NULL);            SendMessage(label, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            label = CreateWindow("static", "Contrast",                                 WS_CHILD | WS_VISIBLE,                                 99, 122, 70, 15, hwnd,                                 NULL,                                 ((LPCREATESTRUCT) lParam) -> hInstance,                                 NULL);            SendMessage(label, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            label = CreateWindow("static", "Hue",                                 WS_CHILD | WS_VISIBLE,                                 191, 122, 70, 15, hwnd,                                 NULL,                                 ((LPCREATESTRUCT) lParam) -> hInstance, NULL);            SendMessage(label, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            label = CreateWindow("static", "Saturation",                                 WS_CHILD | WS_VISIBLE,                                 260, 122, 70, 15, hwnd,                                 NULL,                                 ((LPCREATESTRUCT) lParam) -> hInstance,                                 NULL);            SendMessage(label, WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT), 0);            eq0 = CreateWindow(TRACKBAR_CLASS, "brightness",                               WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED |                               TBS_VERT | TBS_NOTICKS,                               30, 0, 20, 120, hwnd,                               (HMENU) ID_EQ0,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);            SendDlgItemMessage(hwnd, ID_EQ0, TBM_SETRANGE, 1, MAKELONG(0, 200));            eq1 = CreateWindow(TRACKBAR_CLASS, "contrast",                               WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED |                               TBS_VERT | TBS_NOTICKS,                               112, 0, 20, 120, hwnd,                               (HMENU) ID_EQ1,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);            SendDlgItemMessage(hwnd, ID_EQ1, TBM_SETRANGE, 1, MAKELONG(0, 200));            eq2 = CreateWindow(TRACKBAR_CLASS, "hue",                               WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED |                               TBS_VERT | TBS_NOTICKS,                               194, 0, 20, 120, hwnd,                               (HMENU) ID_EQ2,                               ((LPCREATESTRUCT) lParam) -> hInstance,                               NULL);            SendDlgItemMessage(hwnd, ID_EQ2, TBM_SETRANGE, 1, MAKELONG(0, 200));            eq3 = CreateWindow(TRACKBAR_CLASS, "saturation",                               WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED |                               TBS_VERT | TBS_NOTICKS,                               276, 0, 20, 120, hwnd,                               (HMENU) ID_EQ3,                               ((LPCREATESTRUCT) lParam) -> hInstance, NULL);            SendDlgItemMessage(hwnd, ID_EQ3, TBM_SETRANGE, 1, MAKELONG(0, 200));            if(guiIntfStruct.sh_video && guiIntfStruct.Playing)            {                EnableWindow(eq0, 1); EnableWindow(eq1, 1); EnableWindow(eq2, 1); EnableWindow(eq3, 1);                get_video_colors(guiIntfStruct.sh_video, "brightness", &vo_gamma_brightness);                get_video_colors(guiIntfStruct.sh_video, "contrast", &vo_gamma_contrast);                get_video_colors(guiIntfStruct.sh_video, "hue", &vo_gamma_hue);                get_video_colors(guiIntfStruct.sh_video, "saturation", &vo_gamma_saturation);            }            SendDlgItemMessage(hwnd, ID_EQ0, TBM_SETPOS, 1, (LPARAM)100 - vo_gamma_brightness);            SendDlgItemMessage(hwnd, ID_EQ1, TBM_SETPOS, 1, (LPARAM)100 - vo_gamma_contrast);            SendDlgItemMessage(hwnd, ID_EQ2, TBM_SETPOS, 1, (LPARAM)100 - vo_gamma_hue);            SendDlgItemMessage(hwnd, ID_EQ3, TBM_SETPOS, 1, (LPARAM)100 - vo_gamma_saturation);            break;        }        case WM_VSCROLL:        {            switch (LOWORD(wParam))            {                case TB_THUMBTRACK:                    if(guiIntfStruct.sh_video && guiIntfStruct.Playing)                    {                        vo_gamma_brightness = 100 - SendDlgItemMessage(hwnd, ID_EQ0, TBM_GETPOS, 0, 0);                        set_video_colors(guiIntfStruct.sh_video, "brightness", vo_gamma_brightness);                        vo_gamma_contrast = 100 - SendDlgItemMessage(hwnd, ID_EQ1, TBM_GETPOS, 0, 0);                        set_video_colors(guiIntfStruct.sh_video, "contrast", vo_gamma_contrast);                        vo_gamma_hue = 100 - SendDlgItemMessage(hwnd, ID_EQ2, TBM_GETPOS, 0, 0);                        set_video_colors(guiIntfStruct.sh_video, "hue", vo_gamma_hue);                        vo_gamma_saturation = 100 - SendDlgItemMessage(hwnd, ID_EQ3, TBM_GETPOS, 0, 0);                        set_video_colors(guiIntfStruct.sh_video, "saturation", vo_gamma_saturation);                    }                    else                    {                        EnableWindow(GetDlgItem(hwnd, ID_EQ0), 0);                        EnableWindow(GetDlgItem(hwnd, ID_EQ1), 0);                        EnableWindow(GetDlgItem(hwnd, ID_EQ2), 0);                        EnableWindow(GetDlgItem(hwnd, ID_EQ3), 0);                    }                    break;            }        }        case WM_CTLCOLORDLG:        case WM_CTLCOLORSTATIC:        {            HDC hdc = (HDC)wParam;            SetBkMode(hdc, TRANSPARENT);            return (INT_PTR)SOLID_GREY2;        }        break;        case WM_COMMAND:        {            switch (LOWORD(wParam))            {                case ID_CLOSE:                    DestroyWindow(hwnd);                    return 0;                case ID_DEFAULTS:                    if(guiIntfStruct.sh_video && guiIntfStruct.Playing)                    {                        vo_gamma_brightness=0;                        SendDlgItemMessage(hwnd, ID_EQ0, TBM_SETPOS, 1, (LPARAM)100);                        set_video_colors(guiIntfStruct.sh_video, "brightness", vo_gamma_brightness);                        vo_gamma_contrast=0;                        SendDlgItemMessage(hwnd, ID_EQ1, TBM_SETPOS, 1, (LPARAM)100);                        set_video_colors(guiIntfStruct.sh_video, "contrast", vo_gamma_contrast);                        vo_gamma_hue=0;                        SendDlgItemMessage(hwnd, ID_EQ2, TBM_SETPOS, 1, (LPARAM)100);                        set_video_colors(guiIntfStruct.sh_video, "hue", vo_gamma_hue);                        vo_gamma_saturation=0;                        SendDlgItemMessage(hwnd, ID_EQ3, TBM_SETPOS, 1, (LPARAM)100);                        set_video_colors(guiIntfStruct.sh_video, "saturation", vo_gamma_saturation);                    }                    break;            }        }        return 0;        case WM_DESTROY:            PostQuitMessage (0);            return 0;    }    return DefWindowProc(hwnd, iMsg, wParam, lParam);}void display_eqwindow(gui_t *gui){    HWND hWnd;    HINSTANCE hInstance = GetModuleHandle(NULL);    WNDCLASS wc;    int x, y;    if(!guiIntfStruct.sh_video) return;    if(FindWindow(NULL, "MPlayer - Equalizer")) return;    wc.style         = CS_HREDRAW | CS_VREDRAW;    wc.lpfnWndProc   = EqWndProc;    wc.cbClsExtra    = 0;    wc.cbWndExtra    = 0;    wc.hInstance     = hInstance;    wc.hCursor       = LoadCursor(NULL,IDC_ARROW);    wc.hIcon         = gui->icon;    wc.hbrBackground = SOLID_GREY2;    wc.lpszClassName = "MPlayer - Equalizer";    wc.lpszMenuName  = NULL;    RegisterClass(&wc);    x = (GetSystemMetrics(SM_CXSCREEN) / 2) - (332 / 2);    y = (GetSystemMetrics(SM_CYSCREEN) / 2) - (200 / 2);    hWnd = CreateWindow("MPlayer - Equalizer",                        "MPlayer - Equalizer",                        WS_POPUPWINDOW | WS_CAPTION,                        x,                        y,                        332,                        200,                        NULL,                        NULL,                        hInstance,                        NULL);   SetWindowLongPtr(hWnd, GWLP_USERDATA, (DWORD) gui);   ShowWindow(hWnd, SW_SHOW);   UpdateWindow(hWnd);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -