亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? VC++視頻開發實例集錦(包括“遠程視頻監控”"語音識別系統"等13個經典例子)
?? C
?? 第 1 頁 / 共 5 頁
字號:
                }
                else if(globals.main_bool_slider_keep_focus == FALSE)
                {
                    if (Skin.Object[teller].maxw == 0)
                    {
                        globals.main_int_track_position = cursorpos.x - Skin.Object[teller].x;
                        CPI_Player__Seek(globals.m_hPlayer, globals.main_int_track_position, Skin.Object[teller].w);
                    }
                    else
                    {
                        globals.main_int_track_position = ((Skin.Object[teller].y + Skin.Object[teller].h) - cursorpos.y);
                        CPI_Player__Seek(globals.m_hPlayer, globals.main_int_track_position, Skin.Object[teller].h);
                    }
                    waarde=globals.main_int_track_position;
                }
                break;
            }


            //		main_draw_vu_from_mouse(hWnd, teller, Skin.Object[teller].maxw ? cursorpos.y : cursorpos.x);
            main_draw_vu_from_value(hWnd, teller, waarde);
        }
    }
    return moveit;
}

int window_bmp_blt(HWND hWnd, HBITMAP SrcBmp, int srcx, int srcy, int srcw, int srch, int dstx, int dsty)
{
    if (srcw && srch) {
        HBITMAP h = (HBITMAP) SelectObject(drawables.dc_memory, SrcBmp);
        int     retval = BitBlt(drawables.dc_main, srcx, srcy, srcw, srch,
                                drawables.dc_memory, dstx, dsty,
                                SRCCOPY);
        SelectObject(drawables.dc_memory, h);
        return retval;
    }
    return FALSE;
}

void    main_draw_controls_all(HWND hWnd)
{
    int     teller;
    for (teller = PlaySwitch; teller <= ExitButton; teller++) {
        window_bmp_blt(hWnd, graphics.bmp_main_up, Skin.Object[teller].x,
                       Skin.Object[teller].y, Skin.Object[teller].w,
                       Skin.Object[teller].h, Skin.Object[teller].x,
                       Skin.Object[teller].y);
        window_bmp_blt(hWnd, graphics.bmp_main_up, Skin.Object[teller].x2,
                       Skin.Object[teller].y2, Skin.Object[teller].w2,
                       Skin.Object[teller].h2, Skin.Object[teller].x2,
                       Skin.Object[teller].y2);

        switch (teller) {
        case RepeatSwitch:
            if (options.repeat_playlist)
                window_bmp_blt(hWnd, graphics.bmp_main_switch,
                               Skin.Object[RepeatSwitch].x2,
                               Skin.Object[RepeatSwitch].y2,
                               Skin.Object[RepeatSwitch].w2,
                               Skin.Object[RepeatSwitch].h2,
                               Skin.Object[RepeatSwitch].x2,
                               Skin.Object[RepeatSwitch].y2);
            break;
        case ShuffleSwitch:
            if (options.shuffle_play)
                window_bmp_blt(hWnd, graphics.bmp_main_switch,
                               Skin.Object[ShuffleSwitch].x2,
                               Skin.Object[ShuffleSwitch].y2,
                               Skin.Object[ShuffleSwitch].w2,
                               Skin.Object[ShuffleSwitch].h2,
                               Skin.Object[ShuffleSwitch].x2,
                               Skin.Object[ShuffleSwitch].y2);
            break;
        case EqSwitch:
            if (options.equalizer)
                window_bmp_blt(hWnd, graphics.bmp_main_switch,
                               Skin.Object[EqSwitch].x2,
                               Skin.Object[EqSwitch].y2,
                               Skin.Object[EqSwitch].w2,
                               Skin.Object[EqSwitch].h2,
                               Skin.Object[EqSwitch].x2,
                               Skin.Object[EqSwitch].y2);
            break;
        case PlaySwitch:
            if(globals.m_enPlayerState == cppsPlaying)
                window_bmp_blt(hWnd, graphics.bmp_main_switch,
                               Skin.Object[teller].x2,
                               Skin.Object[teller].y2,
                               Skin.Object[teller].w2,
                               Skin.Object[teller].h2,
                               Skin.Object[teller].x2,
                               Skin.Object[teller].y2);
            break;
        case PauseSwitch:
            if(globals.m_enPlayerState == cppsPaused)
                window_bmp_blt(hWnd, graphics.bmp_main_switch,
                               Skin.Object[teller].x2,
                               Skin.Object[teller].y2,
                               Skin.Object[teller].w2,
                               Skin.Object[teller].h2,
                               Skin.Object[teller].x2,
                               Skin.Object[teller].y2);
            break;
        case StopSwitch:
            if(globals.m_enPlayerState == cppsStopped)
                window_bmp_blt(hWnd, graphics.bmp_main_switch,
                               Skin.Object[teller].x2,
                               Skin.Object[teller].y2,
                               Skin.Object[teller].w2,
                               Skin.Object[teller].h2,
                               Skin.Object[teller].x2,
                               Skin.Object[teller].y2);
            break;
        }
    }
}

void    options_create(HWND hWnd)
{
    windows.dlg_options = CreateDialog(GetModuleHandle(NULL),	// handle to application instance
                                       MAKEINTRESOURCE(IDD_OPTIONS),	// identifies dialog box template
                                       hWnd,	// handle to owner window
                                       options_windowproc);	// pointer to dialog box procedure
    ShowWindow(windows.dlg_options, SW_SHOWNORMAL);
}


void    url_create(HWND hWnd)
{

    DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_URL),
              hWnd, url_windowproc);

}

void    main_menuproc(HWND hWnd, LPPOINT points)
{
    int     retval;
    /* SetForegroundWindow and the ensuing null PostMessage is a
       workaround for a Windows 95 bug (see MSKB article Q135788,
       http://www.microsoft.com/kb/articles/q135/7/88.htm, I think).
       In typical Microsoft style this bug is listed as "by design".
       SetForegroundWindow also causes our MessageBox to pop up in front
       of any other application's windows. */
    SetForegroundWindow(hWnd);
    /* We specifiy TPM_RETURNCMD, so TrackPopupMenu returns the menu
       selection instead of returning immediately and our getting a
       WM_COMMAND with the selection. You don't have to do it this way.
     */
    switch (retval =
                TrackPopupMenu(globals.main_menu_popup,
                               TPM_RETURNCMD | TPM_RIGHTBUTTON, points->x,
                               points->y, 0, hWnd, NULL))	// LPRECT user can click in
        // without dismissing menu
    {

    case MENU_EXIT:
        DestroyWindow(hWnd);
        break;
    case MENU_PLAYLIST:
        CPVERB_TogglePlaylistWindow(vaDoVerb, hWnd);
        break;
    case MENU_OPENFILE:
        main_play_control(ID_LOAD, hWnd);
        break;
    case MENU_ABOUT:
        about_create(hWnd);
        break;
    case MENU_OPENLOC:
        url_create(hWnd);
        break;
    case MENU_OPTIONS:
        options_create(hWnd);
        break;
    case MENU_SKIN_DEFAULT:
        {

            options.use_default_skin = TRUE;
            globals.main_bool_skin_next_is_default = TRUE;
            main_play_control(ID_LOADSKIN, hWnd);
            break;
        }
    default:
        {
            if (main_play_control((WORD) retval, hWnd) != -1)
                break;
            if (GetMenuString
                    (globals.main_menu_popup, retval, NULL, 0, MF_BYCOMMAND)) {
                GetMenuString(globals.main_menu_popup, retval,
                              options.main_skin_file, MAX_PATH,
                              MF_BYCOMMAND);
                main_skin_select_menu(options.main_skin_file);
                options.use_default_skin = FALSE;
                globals.main_bool_skin_next_is_default = FALSE;
                main_play_control(ID_LOADSKIN, hWnd);
            }
            break;
        }
    }
    PostMessage(hWnd, 0, 0, 0);	// see above
}

LRESULT CALLBACK
main_windowproc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    // Give the player a crack at the messages - it needs these so that it can call the notification callbacks
    if(globals.m_hPlayer)
    {
        LRESULT lResult;
        const BOOL bHandled = CPI_Player__HandleNotifyMessages(globals.m_hPlayer, message, wParam, lParam, &lResult);
        if(bHandled == TRUE)
            return lResult;
    }

    switch (message) {
        POINTS  cursorpos;
    case WM_TIMER:
        if (wParam == CPC_TIMERID_SCROLLTITLETEXT) {
            main_draw_title(hWnd);

            if(globals.mail_int_title_scroll_max_position == 0)
                globals.main_int_title_scroll_position = 0;
            else
            {
                globals.main_int_title_scroll_position++;
                if(globals.main_int_title_scroll_position > globals.mail_int_title_scroll_max_position)
                    globals.main_int_title_scroll_position -= globals.mail_int_title_scroll_max_position;
            }
        }
        else if(wParam == CPC_TIMERID_INTERTRACKDELAY)
        {
            KillTimer(hWnd, CPC_TIMERID_INTERTRACKDELAY);
            CPL_PlayItem(globals.m_hPlaylist, FALSE, pmNextItem);
        }
        else if(wParam == CPC_TIMERID_ROTATINGSMILY)
        {
            CPSYSICON_AdvanceFrame(globals.m_hSysIcon);
        }

        break;
    case WM_MOUSEWHEEL:
        {
            short zDelta = (short) HIWORD(wParam);
            if (zDelta < 0)
                globals.m_iVolume -= 5;
            else
                globals.m_iVolume += 5;

            if (globals.m_iVolume > 100)
                globals.m_iVolume = 100;
            if (globals.m_iVolume < 0)
                globals.m_iVolume = 0;
            main_draw_vu_from_value(hWnd, VolumeSlider, globals.m_iVolume);
            CPI_Player__SetVolume(globals.m_hPlayer, globals.m_iVolume);
            return 0;
        }
    case WM_COPYDATA:
        {
            PCOPYDATASTRUCT copydata = (PCOPYDATASTRUCT) lParam;
            int i=0,count=0;
            BOOL    wegotsome;
            char *string=copydata->lpData;
            int argc = copydata->dwData;
            char *argv[255]={0};

            while(count<argc)
            {
                argv[count++]=string;
                string+=strlen(string)+1;
            }

            cmdline_parse_options(argc,argv);
            wegotsome = cmdline_parse_files(argc,argv);
            if (globals.playlist_bool_addsong == FALSE
                    && wegotsome == TRUE) {
                CPL_PlayItem(globals.m_hPlaylist, TRUE, pmCurrentItem);
            }
            main_draw_controls_all(hWnd);
            main_set_eq();
            globals.playlist_bool_addsong = FALSE;
            globals.playlist_last_add_time = GetTickCount();
            break;
        }
    case WM_NOTIFYICON:
        switch (lParam) {
        case WM_RBUTTONUP:
            {
                POINT   pt;
                GetCursorPos(&pt);
                main_menuproc(hWnd, &pt);
            }
            break;
        case WM_MBUTTONUP:
            if(globals.m_enPlayerState == cppsPlaying || globals.m_enPlayerState == cppsPaused)
                CPVERB_Pause(vaDoVerb, hWnd);
            break;

        case WM_LBUTTONUP:
            {
                RECT    rcClip;
                RECT    rcClient;
                int     Result;
                GetClientRect(hWnd, &rcClient);
                Result = GetClipBox(drawables.dc_main, &rcClip);

                if (Result == COMPLEXREGION
                        && EqualRect(&rcClip, &rcClient)) {
                    if (options.show_on_taskbar)
                        ShowWindow(hWnd, SW_MINIMIZE);
                    else
                        ShowWindow(hWnd, SW_HIDE);
                } else {
                    ShowWindow(hWnd, SW_RESTORE);
                }
            }
            BringWindowToTop(hWnd);
            SetForegroundWindow(hWnd);
            break;
        }
        break;

    case WM_CREATE:
        if(options.scroll_track_title)
            SetTimer(hWnd, CPC_TIMERID_SCROLLTITLETEXT, 50, NULL);
        else
            KillTimer(hWnd, CPC_TIMERID_SCROLLTITLETEXT);
        SetTimer(hWnd, CPC_TIMERID_ROTATINGSMILY, 100, NULL);
        break;

    case WM_RBUTTONDOWN:
        {
            POINT   points;
            GetCursorPos(&points);

            main_menuproc(hWnd, &points);
            break;
        }
    case WM_CAPTURECHANGED:
        ReleaseCapture();
        break;
    case WM_LBUTTONDOWN:
        {
            int     teller;
            BOOL    moveit = TRUE;
            SetCapture(hWnd);
            cursorpos = MAKEPOINTS(lParam);

            for (teller = 0; teller <= ExitButton; teller++) {
                if (cursorpos.x >= Skin.Object[teller].x
                        && cursorpos.y >= Skin.Object[teller].y
                        && cursorpos.x <=
                        Skin.Object[teller].x + Skin.Object[teller].w
                        && cursorpos.y <=
                        Skin.Object[teller].y + Skin.Object[teller].h) {
                    window_bmp_blt(hWnd, graphics.bmp_main_down,
                                   Skin.Object[teller].x,
                                   Skin.Object[teller].y,
                                   Skin.Object[teller].w,
                                   Skin.Object[teller].h,
                                   Skin.Object[teller].x,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品全国免费观看高清 | 亚洲精品乱码久久久久久黑人| 久久综合色天天久久综合图片| 日韩亚洲欧美一区二区三区| 91精品在线麻豆| 欧美一级二级在线观看| 精品欧美一区二区在线观看| 欧美一级黄色片| 2欧美一区二区三区在线观看视频| 日韩一级成人av| 日韩精品中文字幕在线不卡尤物| 在线电影欧美成精品| 在线播放中文一区| 精品成人在线观看| 国产午夜一区二区三区| 国产精品电影院| 亚洲一区二区不卡免费| 日韩成人av影视| 国产乱码精品一品二品| 国产精品羞羞答答xxdd| 成a人片国产精品| 欧美最猛性xxxxx直播| 日韩一区二区免费视频| 国产亚洲精品超碰| 亚洲嫩草精品久久| 天天亚洲美女在线视频| 韩国中文字幕2020精品| 日本黄色一区二区| 久久免费视频色| 亚洲欧美日韩系列| 国产一区三区三区| 在线亚洲免费视频| 久久日一线二线三线suv| 一区二区三区免费看视频| 九一九一国产精品| 色婷婷av一区二区三区之一色屋| 日韩免费视频线观看| 亚洲精品videosex极品| 黄色日韩网站视频| 欧美日韩国产另类一区| 久久久久久久综合日本| 视频一区二区三区中文字幕| 高清av一区二区| 91麻豆精品国产91久久久更新时间 | 亚洲国产cao| 国产传媒日韩欧美成人| 欧美精品v日韩精品v韩国精品v| 久久综合久色欧美综合狠狠| 亚洲精品v日韩精品| 成人激情综合网站| 精品国产在天天线2019| 亚洲电影你懂得| 91久久精品一区二区二区| 国产精品成人网| 国产精品18久久久久| 91精品国产综合久久久久久漫画| 日韩美女视频一区二区| 成av人片一区二区| 国产午夜精品久久久久久免费视| 美国毛片一区二区三区| 欧美日韩高清一区二区| 亚洲一区二区在线免费看| 色综合久久精品| 国产精品家庭影院| 成人妖精视频yjsp地址| 国产喂奶挤奶一区二区三区| 午夜精品久久久久久久99水蜜桃| 91麻豆.com| 亚洲另类在线一区| 一本色道久久综合狠狠躁的推荐| 国产精品视频麻豆| 国产91精品一区二区| 久久精品一区四区| 高清不卡一区二区在线| 国产精品伦一区二区三级视频| 国产高清视频一区| 欧美国产日产图区| 91影院在线免费观看| 亚洲美女屁股眼交3| 91黄色激情网站| 午夜伦欧美伦电影理论片| 在线成人av影院| 蜜桃视频在线一区| 日本一区二区综合亚洲| av午夜精品一区二区三区| 亚洲天堂av一区| 欧美日韩国产中文| 久久国产福利国产秒拍| 国产欧美一区二区三区在线看蜜臀| 国产成人免费视频一区| 亚洲精品国产成人久久av盗摄 | www国产亚洲精品久久麻豆| 国产一本一道久久香蕉| 国产精品三级av| 欧美三级一区二区| 麻豆91在线播放| 国产精品三级在线观看| 欧美亚洲国产bt| 精品一区二区三区免费播放| 欧美激情一区二区三区四区| 日本高清不卡aⅴ免费网站| 日韩精品成人一区二区在线| 久久这里只有精品6| 成人激情免费视频| 天天综合天天做天天综合| 久久久久久**毛片大全| 在线视频一区二区三| 国产精品综合久久| 亚洲成av人**亚洲成av**| 久久网这里都是精品| 色乱码一区二区三区88| 六月婷婷色综合| 亚洲综合久久久| 久久久久成人黄色影片| 欧美久久婷婷综合色| 岛国一区二区三区| 麻豆国产91在线播放| 樱花影视一区二区| 国产欧美日韩一区二区三区在线观看| 日本精品裸体写真集在线观看| 国产一区二区中文字幕| 午夜久久福利影院| 日韩一区日韩二区| 欧美精品一区二区蜜臀亚洲| 欧美在线999| 色综合色综合色综合 | www.爱久久.com| 蜜臂av日日欢夜夜爽一区| 亚洲美女免费视频| 国产精品色哟哟网站| 精品久久人人做人人爰| 欧美日韩亚洲综合在线| 色94色欧美sute亚洲线路一久| 国产成人三级在线观看| 久久精品国产澳门| 日韩av电影免费观看高清完整版| 国产精品色在线| 中文字幕免费观看一区| 2023国产精品自拍| 欧美va亚洲va香蕉在线| 69久久夜色精品国产69蝌蚪网| 91黄色小视频| 在线观看免费一区| 色婷婷av一区二区三区之一色屋| 国产69精品久久久久777| 国产酒店精品激情| 国内精品国产成人国产三级粉色| 蜜臀av亚洲一区中文字幕| 日本免费新一区视频| 免费成人在线观看| 久久97超碰国产精品超碰| 理论片日本一区| 老司机精品视频在线| 美脚の诱脚舐め脚责91| 国精产品一区一区三区mba桃花| 捆绑变态av一区二区三区| 精品在线播放免费| 国产一区二区中文字幕| 成人黄色小视频| 日本精品视频一区二区三区| 在线观看亚洲专区| 在线成人av网站| 欧美高清精品3d| 日韩三级中文字幕| 日韩西西人体444www| 久久夜色精品一区| ...av二区三区久久精品| 一区二区三区四区在线免费观看| 亚洲激情成人在线| 青青草一区二区三区| 国产精品一品二品| 91美女蜜桃在线| 欧美一级一区二区| 久久久久9999亚洲精品| 亚洲另类一区二区| 美国十次综合导航| 99久久99久久精品免费观看| 欧美日韩久久久| 久久精品无码一区二区三区| **网站欧美大片在线观看| 日韩成人精品视频| 成人av动漫在线| 欧美一级久久久| 一区二区在线电影| 国内外成人在线| 欧洲在线/亚洲| 久久久久国产一区二区三区四区| 日韩理论片中文av| 亚洲国产精品一区二区www| 蜜臀av一区二区在线免费观看| 不卡欧美aaaaa| 日韩免费观看2025年上映的电影 | 色婷婷精品大视频在线蜜桃视频 | 国产精品自拍毛片| 欧美在线免费播放| 国产日韩影视精品| 视频一区视频二区中文字幕| 成人h精品动漫一区二区三区| 日韩欧美在线影院| 一区二区激情视频|