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

📄 setupshow.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
	// GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_TEXT_HL_COLOR),Str, UNICODE_STRING, DT_LEFT,20);
   	 
        break;
    case HL_OFF: //text and rect color set and image
        bgcol = ITEMCHOICE_BG_COLOR;
        txtcol = CHOICE_TEXT_COLOR;
    //    count = LoadText(pItem->wItemID, Str, STR_LEN);
	// GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_TEXT_COLOR),Str, UNICODE_STRING, DT_LEFT,20);
        break;
    case HL_GRAY: //text and rect color set and image
        bgcol = ITEMCHOICE_BG_COLOR;
        txtcol = ITEMCHOICE_TEXT_GRAY_COLOR;
    //    count = LoadText(pItem->wItemID, Str, STR_LEN);
	// GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_TEXT_GRAY_COLOR),Str, UNICODE_STRING, DT_LEFT,20);
        break;
    case HL_CHECK:
    	bgcol = CHOICE_BG_COLOR;
        txtcol = CHOICE_TEXT_COLOR;
    //    count = LoadText(pItem->wItemID, Str, STR_LEN);
	// GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_TEXT_COLOR),Str, UNICODE_STRING, DT_LEFT,20);
       break;
    }
    /*modify by xianzhong to down size.   Aug.4.2004*/

	count = LoadText(pItem->wItemID, Str, STR_LEN);
    	
	GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(bgcol), GetColorInDef256Palette(bgcol), GetColorInDef256Palette(bgcol), GetColorInDef256Palette(txtcol),Str, UNICODE_STRING, DT_LEFT,20);
    
}
static void OtherNumCat(LPBYTE Str, LPBYTE Num)
{
    int i,j,k;
    BYTE tmp[2];
    k=0;
    for (i = 1;i < 3;i++)
    {
        tmp[0] = Num[i]>>4;
        tmp[1] = Num[i] & 0x0f;
        for (j = 0; j < 2; j++)
        {
            Str[k++]=0x00;
            if (tmp[j] == 0x0f)
                // '-' token
                Str[k++]=0x2d;
            else
                // number
                Str[k++]=0x30+tmp[j];
        }
    }
    Str[k++]=0x00;
    Str[k++]=0x00;
}

void _SetTextColorByMode(MODETYPE mode)
{
    BYTE color;
    
    if (mode == HL_ON)
    {
        /* high light */
        color = CHOICE_TEXT_HL_COLOR;
    }
    else
    {
        color = CHOICE_TEXT_COLOR;
        
        
    }
    /*modify by xianzhong to down size.   Aug.4.2004*/
    _SetColorMode(CHOICE_BG_COLOR, color, FALSE, 0);
    #if 0
    SetTextColor(setupHDC, GetColorInDef256Palette(color));
    SetBkColor(setupHDC, GetColorInDef256Palette(CHOICE_BG_COLOR));
    #endif
}

#if (_SETUP_MIXCHOICE_MODE == _SETUP_MIXCHOICE_ENABLE_)

static void ShowOtherNum(CHOICEID f, CHOICEID l, CHOICEID other, UINT interval, LPBYTE CurPara, MODETYPE mode)
{
    RECT rect;
    BYTE Str[STR_LEN];
    SetRect(&rect,
            CHOICE_CONTENT_STARTX+100,
            CHOICE_CONTENT_STARTY + (other - f)*interval,
            CHOICE_CONTENT_STARTX+50 + 100,
            CHOICE_STARTY +
            (other - f)*interval + CHOICE_CONTENT_STARTY);
    //SetRect(&rect,367, 50, 387, 100);
    _SetTextColorByMode(mode);
    #if 0
    if (mode == HL_ON)
    {
        /* high light */
        color = CHOICE_TEXT_HL_COLOR;
    }
    else
    {
        color = CHOICE_TEXT_COLOR;
        
        
    }
    SetTextColor(setupHDC, GetColorInDef256Palette(color));
    SetBkColor(setupHDC, GetColorInDef256Palette(CHOICE_BG_COLOR));
    #endif
    OtherNumCat(Str, CurPara);
    DrawText(setupHDC,Str,-1,&rect, DT_OPAQUE|DT_CHARCLIP|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
}
#endif

static void ShowChoiceArrow(BYTE bRange)
{
    RECT rect;
    /* the top dirct icon */
    if (FirstChoiceID > 0)
    {
        SetRect(&rect,
                CHOICE_UP_ARROW_X,
                CHOICE_UP_ARROW_Y,
                CHOICE_UP_ARROW_X + CHOICE_DOWN_ARROW_W,
                CHOICE_UP_ARROW_Y + CHOICE_DOWN_ARROW_H);
        
        _SetColorMode(CHOICE_ARROW_BK_COL, CHOICE_CHECK_COL, TRUE, TRANSPARENT);
#if 0
        SetTextColor(setupHDC,
                     GetColorInDef256Palette(CHOICE_CHECK_COL));
        SetBkColor(setupHDC,
                   GetColorInDef256Palette(CHOICE_ARROW_BK_COL));
        SetBkMode(setupHDC, TRANSPARENT);
       #endif
        DrawText(setupHDC,UpIcon,2,&rect, DT_CHARCLIP|DT_SINGLELINE|DT_TOP);
        SetBkMode(setupHDC, OPAQUE);
    }
    /* the bottom dirct icon */
    if (LastChoiceID + 1 < bRange)
    {
        SetRect(&rect,
                CHOICE_DOWN_ARROW_X,
                CHOICE_DOWN_ARROW_Y,
                CHOICE_DOWN_ARROW_X + CHOICE_DOWN_ARROW_W,
                CHOICE_DOWN_ARROW_Y + CHOICE_DOWN_ARROW_H);
        _SetColorMode(CHOICE_ARROW_BK_COL, CHOICE_CHECK_COL, TRUE, TRANSPARENT);
#if 0
        SetTextColor(setupHDC,
                     GetColorInDef256Palette(CHOICE_CHECK_COL));
        SetBkColor(setupHDC,
                   GetColorInDef256Palette(CHOICE_ARROW_BK_COL));
        SetBkMode(setupHDC, TRANSPARENT);
       #endif
        DrawText(setupHDC,DownIcon,2,&rect, DT_CHARCLIP|DT_SINGLELINE|DT_BOTTOM);
        SetBkMode(setupHDC, OPAQUE);
    }
}

static CleanChoiceBlk()
{
    HBRUSH hbr;
    RECT rect;
    hbr = CreateSolidBrush(GetColorInDef256Palette(CHOICE_BG_COLOR));
    SetRect(&rect,
            CHOICE_MENU_STARTX,
            CHOICE_CONTENT_STARTY,
            CHOICE_MENU_STARTX + CHOICE_MENU_WIDTH,
            CHOICE_CONTENT_STARTY + CHOICE_MENU_HIGH-6);
    FillRect(setupHDC,&rect,hbr);
    DeleteObject((HGDIOBJ)hbr);
}

static CleanCheckBlk()
{
    HBRUSH hbr;
    RECT rect;
    hbr = CreateSolidBrush(GetColorInDef256Palette(CHOICE_BG_COLOR));

	SetRect(&rect,RATINGCHOICE_STARTX,RATINGCHOICE_STARTY,
			RATINGCHOICE_STARTX+CHOICE_CHECK_W,RATINGCHOICE_STARTY+RATINGCHOICE_HIGH);
    FillRect(setupHDC,&rect,hbr);
    DeleteObject((HGDIOBJ)hbr);
}


static void ShowCheck(BYTE CurChoice, CHOICEID f, CHOICEID l, UINT interval ,MODETYPE mode)
{
    RECT rect;
    if (f==l)
        return;
    if (f <= CurChoice && l >= CurChoice )
    {
        SetRect(&rect,
                CHOICE_MENU_STARTX,
                CHOICE_CONTENT_STARTY + (ItemID + CurChoice  - f)*interval,
                CHOICE_MENU_STARTX + 20,
                CHOICE_CONTENT_STARTY +
                (ItemID + CurChoice - f)*interval + CHOICE_CONTENT_HIGH);
        //SetRect(&rect,367, 50, 387, 100);

        _SetTextColorByMode(mode);
        #if 0
        if(mode == HL_ON)
        {   
            color = CHOICE_TEXT_HL_COLOR;
            #if 0
            SetTextColor(setupHDC,
                         GetColorInDef256Palette(CHOICE_TEXT_HL_COLOR));
            SetBkColor(setupHDC,
                       GetColorInDef256Palette(CHOICE_BG_COLOR));
            #endif
        }
        else
        {
            color = CHOICE_TEXT_COLOR;
            #if 0
            SetTextColor(setupHDC,
                         GetColorInDef256Palette(CHOICE_TEXT_COLOR));
            SetBkColor(setupHDC,
                       GetColorInDef256Palette(CHOICE_BG_COLOR));
            #endif

        }
        SetTextColor(setupHDC,
                         GetColorInDef256Palette(color));
        SetBkColor(setupHDC,
                       GetColorInDef256Palette(CHOICE_BG_COLOR));
        #endif
        DrawText(setupHDC,CheckIcon,2,&rect, DT_OPAQUE|DT_CHARCLIP|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
    }

}
static void ShowLock(BYTE CurChoice, UINT interval)
{
    int i;
    RECT rect;

    SetRect(&rect,
            CHOICE_STARTX+4,
            CHOICE_STARTY,
            CHOICE_STARTX + CHOICE_CHECK_W,
            CHOICE_STARTY + CHOICE_HIGH);
    if (0 == FirstChoiceID)
    {
        i = 1;
        OffsetRect(&rect, 0, interval);
    }
    else
    {
        i = FirstChoiceID;
    }
    for (; i < CurChoice ; i++)
    {
        _SetColorMode(246, 31, FALSE, 0);
        #if 0/*modify by xianzhong to down size.   Aug.4.2004*/
        SetTextColor(hdc,
                     GetColorInDef256Palette(31));
        SetBkColor(hdc,
                   GetColorInDef256Palette(246));
        #endif
        DrawText(hdc,LockIcon,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
        OffsetRect(&rect, 0, interval);
    }
}
static void ShowUnLock()
{
    RECT rect;
    SetRect(&rect,
            CHOICE_CHECK_STARTX+4,
            CHOICE_STARTY,
            CHOICE_CHECK_STARTX + CHOICE_CHECK_W,
            CHOICE_STARTY + CHOICE_HIGH);
    
    _SetColorMode(246, 31, FALSE, 0);
    #if 0/*modify by xianzhong to down size.   Aug.4.2004*/
    SetTextColor(hdc,
                 GetColorInDef256Palette(31));
    SetBkColor(hdc,
               GetColorInDef256Palette(246));
    #endif
    DrawText(hdc,UnLockIcon,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER);
}

void ShowRatingChoices(pITEM_S p)
{
	RECT rect;
	BYTE SymbolStr[4] = {0x00,0x00};
	BYTE EmptyStr[2] = {0x00,0x20};
	BYTE TextStr[STR_LEN];
	int i,count;
	BYTE bCurChoice;
	
	CleanChoiceBlk();
	bCurChoice = GetCurChoice(p);
	for(i=0;i<p->bRange;i++)
	{
		SetRect(&rect,RATINGCHOICE_STARTX,RATINGCHOICE_STARTY+i*(RATINGCHOICE_HIGH),
				RATINGCHOICE_STARTX+30,RATINGCHOICE_STARTY+i*(RATINGCHOICE_HIGH)+RATINGCHOICE_HIGH);

		_SetColorMode(CHOICE_BG_COLOR, CHOICE_TEXT_COLOR, FALSE, 0);
		#if 0/*modify by xianzhong to down size.   Aug.4.2004*/
		SetTextColor(setupHDC, GetColorInDef256Palette(CHOICE_TEXT_COLOR));
        	SetBkColor(setupHDC, GetColorInDef256Palette(CHOICE_BG_COLOR));
        	#endif
        	if(i==0&&bCurChoice == 0)
        	{
        		DrawText(setupHDC,UnLockIcon,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);

        	}
        	else if(i== 0 && bCurChoice !=0)
        	{
        		DrawText(setupHDC,EmptyStr,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);

        	}
        	else if(i!=0 && i<bCurChoice )
        	{
	        	DrawText(setupHDC,LockIcon,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
        	}
        	else if(i!=0&&i==bCurChoice)
        	{
        		DrawText(setupHDC,CheckIcon,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
        	}
        	else
        	{
        		DrawText(setupHDC,EmptyStr,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
        	}
        	SetRect(&rect,RATINGCHOICE_TEXT_STARTX,RATINGCHOICE_STARTY+i*(RATINGCHOICE_HIGH),
				RATINGCHOICE_TEXT_STARTX+RATINGCHOICE_WIDTH,RATINGCHOICE_STARTY+i*(RATINGCHOICE_HIGH)+RATINGCHOICE_HIGH);
        	count = LoadText(p->wItemChoiceIDs[i], TextStr, STR_LEN);
		DrawText(setupHDC,TextStr,count,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER);


	}
}

void HighlightRatingChoice(pITEM_S p,CHOICEID curChoice,CHOICETYPE choiceType,MODETYPE mode)
{
	RECT rect;
	BYTE SymbolStr[4] = {0x00,0x00};
	BYTE EmptyStr[2] = {0x00,0x20};
	BYTE TextStr[STR_LEN];
	int i,count;
	BYTE bCurChoice;
	
	bCurChoice = GetCurChoice(p);
/*modify by xianzhong to down size.   Aug.4.2004*/
	_SetTextColorByMode(mode);
	#if 0
	if(mode == HL_ON)
	{
		SetTextColor(setupHDC, GetColorInDef256Palette(CHOICE_TEXT_HL_COLOR));
        	SetBkColor(setupHDC, GetColorInDef256Palette(CHOICE_BG_COLOR));
	}
	else if(mode == HL_OFF)
	{
		SetTextColor(setupHDC, GetColorInDef256Palette(CHOICE_TEXT_COLOR));
        	SetBkColor(setupHDC, GetColorInDef256Palette(CHOICE_BG_COLOR));

	}
	#endif
	SetRect(&rect,RATINGCHOICE_STARTX,RATINGCHOICE_STARTY+curChoice*(RATINGCHOICE_HIGH),
			RATINGCHOICE_STARTX+CHOICE_CHECK_W,RATINGCHOICE_STARTY+curChoice*(RATINGCHOICE_HIGH)+RATINGCHOICE_HIGH);

	switch(choiceType)
	{
		case UNLOCK:

⌨️ 快捷键说明

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