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

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

?? playlist.c

?? VC++視頻開發實例集錦(包括“遠程視頻監控”"語音識別系統"等13個經典例子)
?? C
?? 第 1 頁 / 共 2 頁
字號:



#include "stdafx.h"
#include "globals.h"
#include "CPI_Player.h"
#include "CPI_Playlist.h"
#include "CPI_PlaylistItem.h"
#include "CPI_ID3.h"


////////////////////////////////////////////////////////////////////////
//
//
//
void    playlist_move_control(int ControlID, LPRECT NewPlaylistrect,
                              int type)
{
    /*
       RECT    winrect;

       int     xsize, ysize;

       HWND    hwndDlg = windows.dlg_playlist;
       HWND    hwndControl = GetDlgItem(hwndDlg, ControlID);

       GetWindowRect(hwndControl,	// handle to window
    	  &winrect);	// address of structure for window coordinates

       xsize = winrect.right - winrect.left;
       ysize = winrect.bottom - winrect.top;
       ScreenToClient(hwndDlg,	// window handle for source coordinates
    	   (LPPOINT) & winrect);	// address of structure containing coordinates);

       switch (type) {
       case TOPRIGHT:
    MoveWindow(hwndControl,	// handle to window
    	   winrect.left +
    	   ((NewPlaylistrect->right - globals.playlist_rect.right)
    	    + (globals.playlist_rect.left - NewPlaylistrect->left)),	// horizontal position
    	   winrect.top,	//+NewPlaylistrect->top,          // vertical position
    	   xsize,	// width
    	   ysize,	// height
    	   TRUE);	// repaint flag
    break;
       case RESIZE:
    MoveWindow(hwndControl,	// handle to window
    	   winrect.left,	// horizontal position
    	   winrect.top,	//+NewPlaylistrect->top,          // vertical position
    	   xsize +
    	   ((NewPlaylistrect->right - globals.playlist_rect.right)
    	    + (globals.playlist_rect.left - NewPlaylistrect->left)),	// width
    	   ysize +
    	   ((NewPlaylistrect->bottom
    	     - globals.playlist_rect.bottom) +
    	    (globals.playlist_rect.top - NewPlaylistrect->top)),	// height
    	   TRUE);	// repaint flag
    break;
       case BOTTOMLEFT:
    MoveWindow(hwndControl,	// handle to window
    	   winrect.left,	// horizontal position
    // horizontal position
    	   winrect.top +
    	   ((NewPlaylistrect->bottom
    	     - globals.playlist_rect.bottom) +
    	    (globals.playlist_rect.top - NewPlaylistrect->top)),	//+NewPlaylistrect->top,          // vertical position
    	   xsize,	// width
    	   ysize,	// height
    	   TRUE);	// repaint flag
    break;
       case BOTTOMRIGHT:
    MoveWindow(hwndControl,	// handle to window
    	   winrect.left +
    	   ((NewPlaylistrect->right - globals.playlist_rect.right)
    	    + (globals.playlist_rect.left - NewPlaylistrect->left)),	// horizontal position
    	   winrect.top +
    	   ((NewPlaylistrect->bottom
    	     - globals.playlist_rect.bottom) +
    	    (globals.playlist_rect.top - NewPlaylistrect->top)),	//+NewPlaylistrect->top,          // vertical position
    	   xsize,	// width
    	   ysize,	// height
    	   TRUE);	// repaint flag
    break;
       }
    */
}

BOOL    playlist_skin_set_control_bitmap(char *position)
{
    /*
       HWND    hDlg = windows.dlg_playlist;
       HWND    button;
       unsigned int teller = 0;
       char    name[MAX_PATH];
       int     controlid = 0;
       short   i = 0;
       LONG    style;
       UINT    x = 0, y = 0, w = 0, h = 0;

       char   *items[] =
    { "Add", "Save", "AddDir", "Clear", "ClearSel", "MoveUp",
    "MoveDown",
    "Shuffle", "Close", "Close2",
    "Minimize", "Maximize", "Find", NULL
       };
       UINT    controlids[] =
    { IDC_OPENLIST, IDC_SAVELIST, IDC_ADDDIR, IDC_CLEAR, IDC_CLEARSEL,
    IDC_MOVEUP, IDC_MOVEDOWN, IDC_SHUFFLE, IDOK, IDC_CLOSE, IDC_MINIMIZE, 
    IDC_MAXIMIZE, IDC_FIND,
    0
       };
       RECT    winrect;
       WINDOWPLACEMENT wndpl;
       if (IsIconic(hDlg)) {
    wndpl.length = sizeof(WINDOWPLACEMENT);
    GetWindowPlacement(hDlg, &wndpl);
    CopyRect(&winrect, &wndpl.rcNormalPosition);
       } else
    GetWindowRect(hDlg, &winrect);
       winrect.right -= winrect.left;
       winrect.bottom -= winrect.top;
       winrect.left = 0;
       winrect.top = 0;

       while (teller < strlen(position)) {
    if (position[teller] == '=' || position[teller] == ',')
        position[teller] = ' ';
    teller++;
       }
       sscanf(position, "%s %d %d %d %d", name, &x, &y, &w, &h);

       while (items[i] != NULL) {
    if (!stricmp(name, items[i])) {
        controlid = controlids[i];
        break;
    };
    i++;
       }

       if (!stricmp(name, "List")) {
    button = GetDlgItem(hDlg, IDC_PLAYLIST);
    SetWindowPos(button, NULL, x, y, winrect.right - w - x,
    	     winrect.bottom - h - y,
    	     SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOREDRAW);
    return TRUE;
       }

       if (controlid) {
    BITMAP  bm;
    char    playlistbitmapfile[MAX_PATH];
    char    pathname[MAX_PATH];
    button = GetDlgItem(hDlg, controlid);
    style = GetWindowLong(button, GWL_STYLE);
    style |= BS_OWNERDRAW;
    SetWindowLong(button, GWL_STYLE, style);
    SetWindowLong(button, GWL_USERDATA, w);
    strcpy(playlistbitmapfile, options.playlist_skin_file);
    path_remove_filespec(playlistbitmapfile);

    sprintf(pathname, "%s%s.bmp", playlistbitmapfile, name);
    DeleteObject(PlayListBitmap.bm[i]);
    PlayListBitmap.bm[i] =
        LoadImage(0, pathname, IMAGE_BITMAP, 0, 0,
    	      LR_LOADFROMFILE);

    if (!PlayListBitmap.bm[i])
        ShowWindow(GetDlgItem(hDlg, controlid), SW_HIDE);
    GetObject(PlayListBitmap.bm[i], sizeof(bm), &bm);
    SetWindowPos(GetDlgItem(hDlg, controlid), NULL, 0, 0,
    	     bm.bmWidth, bm.bmHeight / 2,
    	     SWP_NOREDRAW | SWP_NOMOVE | SWP_NOOWNERZORDER |
    	     SWP_NOZORDER);
    switch (w) {
    case BOTTOMRIGHT:
        SetWindowPos(button, NULL, winrect.right - x,
    		 winrect.bottom - y, 0, 0,
    		 SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOZORDER
    		 | SWP_NOREDRAW);
        break;
    case TOPRIGHT:
        SetWindowPos(button, NULL, winrect.right - x, y, 0, 0,
    		 SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOZORDER
    		 | SWP_NOREDRAW);
        break;
    case BOTTOMLEFT:
        SetWindowPos(button, NULL, x, winrect.bottom - y, 0, 0,
    		 SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOZORDER
    		 | SWP_NOREDRAW);
        break;
    case TOPLEFT:
        SetWindowPos(button, NULL, x, y, 0, 0,
    		 SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOZORDER
    		 | SWP_NOREDRAW);
        break;
    }
    return TRUE;
       }
    	*/
    return FALSE;
}

BOOL    playlist_skin_get_ini_value(char *key, char *position, SIZE * rect)
{
    /*
       SIZE    readrect;
       while (*position != 0) {
    unsigned int teller = 0;
    char    name[MAX_PATH];
    while (teller < strlen(position)) {
        if (position[teller] == '=' || position[teller] == ',')
    	position[teller] = ' ';
        teller++;
    }
    sscanf(position, "%s %i %i", name, &readrect.cx, &readrect.cy);

    if (!stricmp(name, key)) {
        rect->cx = readrect.cx;
        rect->cy = readrect.cy;
        return TRUE;
    }

    position = position + strlen(position) + 1;
       }
    */

    return FALSE;
}

/*
You should add your initialization code here. This function will be called
when the dialog box receives the WM_INITDIALOG message.
*/
int     playlist_skin_read()
{
    /*

       char    values[32768];
       char    playlistfile[MAX_PATH];
       char    playlistbitmapfile[MAX_PATH];
       char   *position;
       char    buffer[4096];
       HWND    hDlg = windows.dlg_playlist;
       int     i = 0;
       UINT    controlids[] =
    { IDC_OPENLIST, IDC_SAVELIST, IDC_ADDDIR, IDC_CLEAR, IDC_CLEARSEL,
    IDC_MOVEUP, IDC_MOVEDOWN, IDC_SHUFFLE, IDOK, IDC_CLOSE, 
    IDC_MINIMIZE, IDC_MAXIMIZE, IDC_FIND,
    0
       };
       while (controlids[i] != 0)
    SetWindowLong(GetDlgItem(hDlg, controlids[i++]), GWL_USERDATA, 0);

       if (!*options.playlist_skin_file || !options.use_playlist_skin)
    return FALSE;
       GetPrivateProfileString(NULL, NULL, NULL,
    		    buffer, sizeof(buffer),
    		    options.playlist_skin_file);

       if (GetPrivateProfileSection
    ("Playlist", values, 32767, options.playlist_skin_file) == 0) {
    MessageBox(hDlg, "Can\'t open ini file!",
    	   options.playlist_skin_file,
    	   MB_ICONERROR | MB_SETFOREGROUND | MB_TOPMOST);
       }				// points to initialization filename
       strcpy(playlistfile, options.playlist_skin_file);
       path_remove_filespec(playlistfile);
       position = values;
       while (*position != 0) {

    playlist_skin_set_control_bitmap(position);
    position = position + strlen(position) + 1;
       }

       sprintf(playlistbitmapfile, "%sPlaylist.bmp", playlistfile);
       DeleteObject(graphics.bmp_playlist_bg);
       graphics.bmp_playlist_bg =
    LoadImage(0, playlistbitmapfile, IMAGE_BITMAP, 0, 0,
    	  LR_LOADFROMFILE);
       if (!graphics.bmp_playlist_bg)
    MessageBox(hDlg, "Can\'t load bitmap", playlistbitmapfile,
    	   MB_ICONERROR | MB_SETFOREGROUND | MB_TOPMOST);

       position = values;
       playlist_skin_get_ini_value("UpLeft", position,
    			&PlayListBitmap.UpLeft);
       position = values;
       playlist_skin_get_ini_value("UpRight", position,
    			&PlayListBitmap.UpRight);
       position = values;
       playlist_skin_get_ini_value("DownLeft", position,
    			&PlayListBitmap.DownLeft);
       position = values;
       playlist_skin_get_ini_value("DownRight", position,
    			&PlayListBitmap.DownRight);
       position = values;
       playlist_skin_get_ini_value("UpMid", position, &PlayListBitmap.UpMid);
       position = values;
       playlist_skin_get_ini_value("DownMid", position,
    			&PlayListBitmap.DownMid);
       position = values;
       playlist_skin_get_ini_value("LeftMid", position,
    			&PlayListBitmap.LeftMid);
       position = values;
       playlist_skin_get_ini_value("RightMid", position,
    			&PlayListBitmap.RightMid);
       position = values;
       playlist_skin_get_ini_value("MinSize", position,
    			&PlayListBitmap.MinSize);
       position = values;
       playlist_skin_get_ini_value("Colors", position,
    			&PlayListBitmap.Colors);

       if (PlayListBitmap.UpLeft.cx) {
    LONG    style;
    HWND    button;
    LONG    data;
    style = GetWindowLong(hDlg, GWL_STYLE);
    style &= ~WS_CAPTION;
    style &= ~WS_THICKFRAME;
    style &= ~WS_BORDER;
    SetWindowLong(hDlg, GWL_STYLE, style);

    ShowWindow(GetDlgItem(hDlg, IDC_MINIMIZE), SW_SHOW);
    ShowWindow(GetDlgItem(hDlg, IDC_MAXIMIZE), SW_SHOW);
    ShowWindow(GetDlgItem(hDlg, IDC_CLOSE), SW_SHOW);
    ShowWindow(GetDlgItem(hDlg, IDC_SORTTEXT), SW_HIDE);
    ShowWindow(GetDlgItem(hDlg, IDC_MOVETEXT), SW_HIDE);

    // Check for the find button.
    button = GetDlgItem(hDlg, IDC_FIND);
    data = GetWindowLong(button, GWL_USERDATA);
    if (!data) {
        ShowWindow(button, SW_HIDE);
    } else
        ShowWindow(button, SW_SHOW);

       } else
    return FALSE;
    */
    return 1;
}

void    playlist_draw_control(UINT controlid, LPDRAWITEMSTRUCT ds)
{
    /*
       HDC     winmemdc = CreateCompatibleDC(ds->hDC);
       HBITMAP h;
       HBITMAP image;
       HPALETTE oldpal;
       int     height = 0, i = 0;
       UINT    controlids[] =
    { IDC_OPENLIST, IDC_SAVELIST, IDC_ADDDIR, IDC_CLEAR, IDC_CLEARSEL,
    IDC_MOVEUP, IDC_MOVEDOWN, IDC_SHUFFLE, IDOK, IDC_CLOSE, IDC_MINIMIZE, 
    IDC_MAXIMIZE, IDC_FIND,	0
       };
       while (controlids[i] != 0) {
    if (controlids[i] == ds->CtlID) {
        image = PlayListBitmap.bm[i];
        break;
    }
    i++;
       }

       if (ds->itemState & ODS_SELECTED) {
    height = ds->rcItem.bottom;
       }

       h = (HBITMAP) SelectObject(winmemdc, image);
       oldpal = SelectPalette(ds->hDC, graphics.pal_main, FALSE);
       RealizePalette(ds->hDC);
       BitBlt(ds->hDC, 0, 0, ds->rcItem.right, ds->rcItem.bottom, winmemdc,
       0, height, SRCCOPY);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清你懂得| 亚洲欧美日韩国产中文在线| 国产精品伦理一区二区| 日韩av中文字幕一区二区 | 麻豆成人在线观看| av在线播放一区二区三区| 日韩免费高清视频| 亚洲成人午夜电影| 一本久久a久久精品亚洲| 国产欧美一区二区精品婷婷| 蜜桃传媒麻豆第一区在线观看| 91美女片黄在线观看| 国产三级一区二区| 精品一区二区三区香蕉蜜桃| 欧美三级午夜理伦三级中视频| 亚洲国产成人自拍| 国产精品香蕉一区二区三区| 91精品免费观看| 日韩精品五月天| 在线一区二区三区四区| 综合电影一区二区三区| av在线不卡网| 综合久久国产九一剧情麻豆| www.性欧美| 国产精品久久久久久久久免费相片| 国模冰冰炮一区二区| 日韩欧美一区二区在线视频| 午夜成人免费电影| 在线播放国产精品二区一二区四区| 一区二区三区鲁丝不卡| 欧美亚洲国产一卡| 亚洲国产日日夜夜| 51精品国自产在线| 韩日av一区二区| 久久久蜜桃精品| 懂色一区二区三区免费观看| 国产精品国产三级国产专播品爱网| 波多野结衣中文一区| 亚洲三级在线免费| 欧美系列一区二区| 日本美女一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产成人综合网站| 亚洲欧美偷拍卡通变态| 欧美视频中文一区二区三区在线观看| 亚洲一区中文日韩| 欧美一区二区三区视频免费播放| 精品一区二区免费在线观看| 久久久久久久久久看片| 99久久99久久综合| 肉丝袜脚交视频一区二区| 日韩一区国产二区欧美三区| 国产一区二区三区久久久| 久久久噜噜噜久噜久久综合| 成人国产免费视频| 亚洲国产视频一区| 久久久99久久| 欧美日韩在线观看一区二区 | 久久婷婷久久一区二区三区| 国产精品一区二区三区网站| 国产精品福利一区| 欧美日韩精品一二三区| 国产乱妇无码大片在线观看| 亚洲乱码日产精品bd| 欧美成人bangbros| 色综合av在线| 激情另类小说区图片区视频区| 国产精品视频第一区| 666欧美在线视频| 成人午夜av影视| 日本系列欧美系列| 亚洲欧洲www| 欧美精品一区二区三区四区| 91老司机福利 在线| 精品一区二区久久| 亚洲综合久久久久| 中文字幕日本乱码精品影院| 91精品国产品国语在线不卡| 一本到不卡精品视频在线观看| 美国三级日本三级久久99| 一区二区在线观看免费视频播放| 久久亚洲一区二区三区明星换脸| 欧美性色aⅴ视频一区日韩精品| 福利电影一区二区三区| 男男gaygay亚洲| 亚洲国产精品影院| 中文字幕在线不卡视频| 精品久久久久久久久久久久久久久久久 | 欧美变态tickling挠脚心| 日本韩国一区二区| 风间由美一区二区av101| 免费视频一区二区| 婷婷综合在线观看| 亚洲网友自拍偷拍| 亚洲欧美福利一区二区| 国产精品美日韩| 久久九九影视网| 精品国产sm最大网站免费看| 欧美日韩成人综合| 欧美午夜精品免费| 在线观看欧美精品| 91免费看片在线观看| 成人免费看视频| 国产99久久久国产精品潘金网站| 久久不见久久见免费视频7| 天堂va蜜桃一区二区三区漫画版 | 蜜桃视频在线观看一区二区| 偷偷要91色婷婷| 亚洲成在人线免费| 亚洲国产精品欧美一二99| 伊人夜夜躁av伊人久久| 亚洲欧美另类在线| 亚洲另类一区二区| 夜色激情一区二区| 亚洲一区在线观看视频| 亚洲午夜av在线| 日韩国产精品大片| 美女视频一区在线观看| 国产综合久久久久久鬼色| 国产成人午夜精品5599| 成人网男人的天堂| 91电影在线观看| 欧美人牲a欧美精品| 欧美一级在线视频| 精品国产污污免费网站入口| 2020日本不卡一区二区视频| 国产日韩av一区二区| 亚洲天堂成人网| 亚洲一区二区三区在线| 男男成人高潮片免费网站| 国产激情91久久精品导航| av网站免费线看精品| 欧美日韩一区高清| 精品国产1区二区| 亚洲一区二区在线免费观看视频 | 亚洲一区免费在线观看| 亚洲成人精品在线观看| 精品一区二区三区在线观看国产| 国产成人亚洲综合a∨猫咪| 色一情一伦一子一伦一区| 91精品国产91热久久久做人人 | 成人性生交大片免费| 91在线观看一区二区| 在线电影院国产精品| 国产欧美精品一区二区色综合朱莉| 国产精品白丝在线| 男男视频亚洲欧美| 成人av电影免费在线播放| 欧美精品一卡二卡| 国产日产亚洲精品系列| 婷婷丁香久久五月婷婷| 狠狠色狠狠色综合日日91app| 波多野结衣亚洲一区| 91精品国产91久久久久久最新毛片 | 亚洲成人激情综合网| 国模冰冰炮一区二区| 欧美在线你懂的| 国产欧美精品一区二区色综合朱莉| 一区二区国产盗摄色噜噜| 国产精品77777| 欧美久久一区二区| 《视频一区视频二区| 精品综合久久久久久8888| 91久久久免费一区二区| 久久精品亚洲精品国产欧美| 亚洲小说欧美激情另类| 成人自拍视频在线| 精品久久久久久亚洲综合网 | 日本精品裸体写真集在线观看| 26uuu精品一区二区三区四区在线| 一区二区三区蜜桃网| 国产精品亚洲а∨天堂免在线| 欧美精品乱码久久久久久| 亚洲精选视频在线| 成人午夜短视频| 国产婷婷精品av在线| 久99久精品视频免费观看| 欧美日韩在线三级| 亚洲国产欧美在线| 色又黄又爽网站www久久| 国产精品高潮久久久久无| 成人一区二区在线观看| 亚洲精品一区二区三区福利| 日本sm残虐另类| 日韩小视频在线观看专区| 亚洲第一精品在线| 欧美午夜不卡视频| 亚洲一区二区三区四区的| 一本久久a久久免费精品不卡| 1区2区3区欧美| 色哟哟亚洲精品| 亚洲视频小说图片| 99精品在线观看视频| 亚洲三级免费电影| 91一区二区三区在线观看| 亚洲视频在线观看三级| 色婷婷av一区| 亚洲一级二级在线| 91精品免费观看| 精品亚洲porn|