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

📄 mediaplayeroutlook.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
        case HIGHLIGHT_UNFOCUS:
            GUI_CreateLeftMidRightBitmap2(gMPOdc, &rectTmp, IM_MPLR_SELECT_BOX_LEFT, IM_MPLR_SELECT_BOX_MIDDLE, IM_MPLR_SELECT_BOX_RIGHT, TRUE);
            LoadText(RS_MPLAYER_PHOTO, strTitle, BUF_MAX);
            rectTmp.top+=20;
            GUI_CreateButtonControl(gMPOdc, &rectTmp, CL_BKNOCARE, CL_BKNOCARE, CL_BKNOCARE, clYellow, strTitle, UNICODE_STRING, DT_CENTER,0);
            rectTmp.top-=20;
            break;
        case HIGHLIGHT_GRAY:
        case HIGHLIGHT_NORMAL:
        default:
            LoadText(RS_MPLAYER_PHOTO, strTitle, BUF_MAX);
            rectTmp.top+=20;
            GUI_CreateButtonControl(gMPOdc, &rectTmp, CL_BKNOCARE, CL_BKNOCARE, CL_BKNOCARE, clWrite, strTitle, UNICODE_STRING, DT_CENTER,0);
            rectTmp.top-=20;
            break;
        }
        break;
    }
}


/********************************************************************/
// Media Type Selection Tabs

void DrawMediaTypeTabs()
{
    int i=0;

    for(i=0; i<GetMediaTypeTabCount(); i++)
    {
        if(i==MPO_Attr.iPlayerSelected)
            DrawMediaTypeSelection(i, HIGHLIGHT_UNFOCUS);
        else
            DrawMediaTypeSelection(i, HIGHLIGHT_NORMAL);
    }
}

/********************************************************************/
// List, Program, Preview

void DrawListProgramPreview(tHighlightPos iHighlightPos, tHighlightType iHightlight)
{
    RECT rectListIcon={LISTICON_LEFT, LISTICON_TOP, LISTICON_LEFT+LISTICON_WIDTH, LISTICON_TOP+LISTICON_HEIGHT};
    RECT rectList={LIST_LEFT, LIST_TOP, LIST_RIGHT, LIST_BOTTOM};
    COLORREF clListIcon;
    COLORREF clList;
    COLORREF clListText;
    char strList[BUF_MAX];


    //List
    clListIcon=CL_BKNOCARE;
    clList=CL_BKNOCARE;
    clListText=GetColorInDef256Palette(LISTTEXT_CLR_INDEX);

    switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
    {
    case MPLR_CD:
    case MPLR_MUSIC:
    case MPLR_PHOTO:
        LoadText(RS_MPLAYER_USE_LIST, strList, BUF_MAX);
        GUI_CreateBitmapControl(gMPOdc, &rectListIcon, clListIcon, clListIcon, clListIcon, IM_MPLR_LIST, 0, 0);
        GUI_CreateButtonControl(gMPOdc, &rectList, clList, clList, clList, clListText, strList, UNICODE_STRING, DT_LEFT,0);
        break;
    }
}


/********************************************************************/
// List File Sign
char PLAYING_ICON_L[4]={0xe0, 0x53,0x00,0x00};

void DrawListItemSign(WORD iItemIndex, BOOL bIsPlaying, tHighlightType iHighlight)
{
    COLORREF clItemSign;
    COLORREF clItemSignText;
	RECT rectTmp;


    clItemSign=CL_TRANSPARENT;
    clItemSignText=GetColorInDef256Palette(SIGNTEXT_CLR_INDEX);

    switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
    {
    case MPLR_CD:
    case MPLR_MUSIC:
	    rectTmp.left=LISTSIGN_LEFT;
        rectTmp.right=LISTSIGN_LEFT+LISTSIGN_WIDTH;
	    rectTmp.top=LISTSIGN_TOP+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
        rectTmp.bottom=LISTSIGN_TOP+LISTSIGN_HEIGHT+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
	    if(bIsPlaying)
            GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, PLAYING_ICON_L, UNICODE_STRING, DT_LEFT, 0);
	    else
	        GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);

  	    break;
    //case MPLR_PHOTO:
        //GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);
        //break;
    }
}


char PROGRAMMED_ICON_R[4]={0xe0, 0x66,0x00,0x00};

void DrawListItemProg(WORD iItemIndex, BOOL bIsProgrammed, tHighlightType iHighlight)
{
    COLORREF clItemSign;
    COLORREF clItemSignText;
	RECT rectTmp;


	clItemSign=CL_TRANSPARENT;
    clItemSignText=GetColorInDef256Palette(SIGNTEXT_CLR_INDEX);

    switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
    {
    case MPLR_CD:
    case MPLR_MUSIC:
	    rectTmp.left=LISTITEM_LEFT+FILEITEM_WIDTH+8;
        rectTmp.right=CANVAS_RIGHT;
	    rectTmp.top=LISTSIGN_TOP+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
        rectTmp.bottom=LISTSIGN_TOP+LISTSIGN_HEIGHT+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
	    if(bIsProgrammed)
            GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, PROGRAMMED_ICON_R, UNICODE_STRING, DT_LEFT, 0);
	    else
	        GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);

  	    break;
    //case MPLR_PHOTO:
        //GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);
        //break;
    }
}


char FOLDER_ICON[4]={0xe0, 0x50,0x00,0x00};
char FOLDERUP_ICON[4]={0xe0, 0x51,0x00,0x00};
char MUSIC_ICON[4]={0xe0, 0x52,0x00,0x00};
char PHOTO_ICON[4]={0xe0, 0x54,0x00,0x00};

void DrawListItemText(WORD iItemIndex, BYTE *szItemText, BYTE bDIR, tHighlightType iHighlight)
{
    RECT rectDirIcon,rectIcon,rectTmp;
    COLORREF clItem, clItemFocus;
    COLORREF clItemText,clItemTextFocus;

	RECT rect;
    HBITMAP hOldBmp;
	
	clItemFocus=GetColorInDef256Palette(FILEITEMFOCUS_CLR_INDEX);
    clItem=GetColorInDef256Palette(FILEITEM_CLR_INDEX);
    clItemText=GetColorInDef256Palette(FILEITEMTEXT_CLR_INDEX);
    clItemTextFocus=GetColorInDef256Palette(FILEITEMTEXTFOCUS_CLR_INDEX);

    rectTmp.left=LISTITEM_LEFT;
	rectTmp.right=LISTITEM_LEFT+FILEITEM_WIDTH;
    rectTmp.top=LISTITEM_TOP+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
    rectTmp.bottom=LISTITEM_TOP+FILEITEM_HEIGHT+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);

	rect.left=rectTmp.left;
	rect.top=rectTmp.top;
	rect.right=rectTmp.right;
	rect.bottom=rectTmp.bottom;
    
    if(strlen(szItemText)==0)
    {
        GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItem,"", NORMAL_STRING, DT_LEFT,  L_TEXT_TO_RECT);
    }
    else
    {
        if (bDIR==C_DIR)
        {
            rectDirIcon.left=rectTmp.left;
            rectDirIcon.right=( rectTmp.left+(L_ICON_TO_RECT+DIRICON_WIDTH)) | RECTBORDER_NORIGHT;
            rectDirIcon.top=rectTmp.top;
            rectDirIcon.bottom=rectTmp.bottom;

            switch(iHighlight)
            {
            case HIGHLIGHT_FOCUS:
                if(strcmp(szItemText, "..")==0)
					GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus,  FOLDERUP_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
                else
					GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus,  FOLDER_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);

                rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
                GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, szItemText, NORMAL_STRING, DT_LEFT, L_TEXT_TO_RECT);
                rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
                break;
            case HIGHLIGHT_NORMAL:
            case HIGHLIGHT_GRAY:
            default:
                if(strcmp(szItemText, "..")==0)
					GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItem, clItem, clItem, clItemText,  FOLDERUP_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
                else
					GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItem, clItem, clItem, clItemText,  FOLDER_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);

                rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
                GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItemText, szItemText, NORMAL_STRING, DT_LEFT, L_TEXT_TO_RECT);
                rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
                break;
            }
        }
        else
        {
            rectIcon.left=rectTmp.left;
            rectIcon.right=( rectTmp.left+(L_ICON_TO_RECT+DIRICON_WIDTH) ) | RECTBORDER_NORIGHT; 
            rectIcon.top=rectTmp.top;
            rectIcon.bottom=rectTmp.bottom;
            switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
            {
            case MPLR_CD:
            case MPLR_MUSIC:
            switch(iHighlight)
            {
            case HIGHLIGHT_FOCUS:
					GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus,  MUSIC_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
                    rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT); // Attention: align as icon does
                    rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    break;
                case HIGHLIGHT_GRAY:
                case HIGHLIGHT_NORMAL:
					GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItem, clItem, clItem, clItemText,  MUSIC_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
                    rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItemText, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT);
                    rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    break;
                }
                break;	

            case MPLR_PHOTO:
                switch(iHighlight)
                {
                case HIGHLIGHT_FOCUS:
					GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus,  PHOTO_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
                    rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT); // Attention: align as icon does
                    rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
                break;
                case HIGHLIGHT_GRAY:
            case HIGHLIGHT_NORMAL:
					GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItem, clItem, clItem, clItemText,  PHOTO_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
                    rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItemText, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT);
                    rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
                    break;
                }
                break;
            }
        }
    }
}

/********************************************************************/
// Scroll bar

char UP_ARROW[4]={0xe0, 0x57,0x00,0x00};
char DOWN_ARROW[4]={0xe0, 0x58,0x00,0x00};

RECT rectScrollTopL={SCROLL_TOPR_LEFT, SCROLL_TOPR_TOP, SCROLL_TOPR_LEFT+SCROLL_WIDTH, SCROLL_TOPR_TOP+SCROLL_HEIGHT};
RECT rectScrollBotL={SCROLL_BOTR_LEFT, SCROLL_BOTR_TOP, SCROLL_BOTR_LEFT+SCROLL_WIDTH, SCROLL_BOTR_TOP+SCROLL_HEIGHT};
RECT rectScrollTopR={SCROLL_TOPR_LEFT, SCROLL_TOPR_TOP, SCROLL_TOPR_LEFT+SCROLL_WIDTH, SCROLL_TOPR_TOP+SCROLL_HEIGHT};
RECT rectScrollBotR={SCROLL_BOTR_LEFT, SCROLL_BOTR_TOP, SCROLL_BOTR_LEFT+SCROLL_WIDTH, SCROLL_BOTR_TOP+SCROLL_HEIGHT};

void DrawScrollBar(tScrollIndex iScrollIndex, tHighlightType iHighlight)
{
    COLORREF clScroll;
    COLORREF clScrollText, clScrollGrayText;

    
    clScroll=GetColorInDef256Palette(MAIN_CLR_INDEX);
    clScrollText=GetColorInDef256Palette(SCROLLTEXT_CLR_INDEX);
    clScrollGrayText=GetColorInDef256Palette(SCROLLGRAYTEXT_CLR_INDEX);
    switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
    {
    case MPLR_CD:
    case MPLR_MUSIC:
        switch(iScrollIndex)
        {
        case LEFT_TOP:
            switch(iHighlight)
            {
            case HIGHLIGHT_GRAY:
                GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollGrayText,  UP_ARROW, UNICODE_STRING, 0, 0);
                break;
            default:
                GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollText,  "", NORMAL_STRING, 0, 0);
                break;
            }
            break;
        case LEFT_BOT:
            switch(iHighlight)
            {
            case HIGHLIGHT_GRAY:
                GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollGrayText, DOWN_ARROW, UNICODE_STRING, 0, 0);
                break;
            default:
                GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollText, "", NORMAL_STRING, 0, 0);
                break;
            }
            break;
        }
        
        break;
    case MPLR_PHOTO:
        switch(iScrollIndex)
        {
        case LEFT_TOP:
            switch(iHighlight)
            {
            case HIGHLIGHT_GRAY:
                GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollGrayText,  UP_ARROW, UNICODE_STRING, 0, 0);
                break;
            default:
                GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollText,  "", NORMAL_STRING, 0, 0);
                break;
            }
            break;
        case LEFT_BOT:
            switch(iHighlight)
            {
            case HIGHLIGHT_GRAY:
                GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollGrayText, DOWN_ARROW, UNICODE_STRING, 0, 0);
                break;
            default:
                GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollText, "", NORMAL_STRING, 0, 0);
                break;
            }
            break;
        }
        
        break;
    }
}

/********************************************************************/

⌨️ 快捷键说明

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