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

📄 setupshow.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
            Str[5] = p->SetupItems[i]->CurPara[1];
        }
        else
        {
            Str[0]=0x00;
            Str[1]=0x20;
            count = LoadText((p->SetupItems[i]->wItemChoiceIDs)[curchoice],
                             &(Str[2]), STR_LEN);
            Str[2+count-1]=0x00;
            Str[2+count]=0x00;
        }
        DrawText(hdc,Str,-1,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER);
        if ((((p->SetupItems[i])->bObjectType) & 0x80) == 0x80)
        {
          /*modify by xianzhong to down size.   Aug.4.2004*/
          _SetColorMode(ITEM_TEXT_BK_NORMAL, ITEM_TEXT_NORMAL, FALSE, 0);
            #if 0
            SetTextColor(hdc, GetColorInDef256Palette(ITEM_TEXT_NORMAL));
            SetBkColor(hdc, GetColorInDef256Palette(ITEM_TEXT_BK_NORMAL));
            #endif
        }
        rect.left = ITEM_STARTX;
        rect.right = ITEM_STARTX + ITEM_WIDTH;
        OffsetRect(&rect, 0, ITEM_HIGH + ITEM_DISTANCE);
    }
}
void ShowItemMenu(pPAGE_S p)
{
    BYTE Str[STR_LEN];
    HBRUSH hbr;
    RECT rect;
    HBITMAP hbmp;
    int count, i;
    LPBYTE curpara;
    BYTE curchoice;
    COLORREF color;
    BYTE tmpStr [10]={0x00,0x2a,0x00,0x2a,0x00,0x2a,0x00,0x2a,0x00,0x00};

    /* submenu rect */
    SetRect(&rect,
            ITEMMENU_STARTX,
            ITEMMENU_STARTY,
            ITEMMENU_STARTX + SUBMENU_WIDTH,
            ITEMMENU_STARTY + SUBMENU_HIGH);
    hbr = CreateSolidBrush(GetColorInDef256Palette(ITEM_BK_NORMAL));
    FillRect(hdc,&rect,hbr);
    DeleteObject((HGDIOBJ)hbr);
    /*modify by xianzhong to down size.   Aug.4.2004*/
_SetColorMode(ITEM_TEXT_BK_NORMAL, ITEM_TEXT_NORMAL, FALSE, 0);
#if 0
    SetTextColor(hdc, GetColorInDef256Palette(ITEM_TEXT_NORMAL));
    SetBkColor(hdc, GetColorInDef256Palette(ITEM_TEXT_BK_NORMAL));
#endif
    /* item rect */
    SetRect(&rect,
            ITEM_STARTX,
            ITEM_STARTY,
            ITEM_STARTX + ITEM_WIDTH,
            ITEM_STARTY + ITEM_HIGH );

    for (i = 0; i<(p->bItemNums); i++)
    {
        Str[0]=0x00;
        Str[1]=0x20;
        Str[2]=0x00;
        Str[3]=0x20;
        count = LoadText((p->SetupItems[i])->wItemID, &(Str[4]), STR_LEN);
        if ((((p->SetupItems[i])->bObjectType) & 0x80) == 0x80)
        {
            /* draw gray */
            /*modify by xianzhong to down size.   Aug.4.2004*/
            _SetColorMode(ITEM_TEXT_BK_GRAY, ITEM_TEXT_GRAY, FALSE, 0);
            #if 0
            SetTextColor(hdc, GetColorInDef256Palette(ITEM_TEXT_GRAY));
            SetBkColor(hdc, GetColorInDef256Palette(ITEM_TEXT_BK_GRAY));
            #endif
            DrawText(hdc,Str,count+4,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER);
        }
        else
        {
            DrawText(hdc,Str,count+2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER);
        }
        #if 0
        /* direct image */
        hbmp=LoadBitmap(NULL,GET_IMNAME(IM_SU_CURSOR));
        TransparentImage(hdc,
                         CHOICE_STARTX, CHOICE_STARTY +CHOICE_DIRECT_OFF + (CHOICE_HIGH+CHOICE_DISTANCE)*i,
                         16, 11,
                         hbmp,
                         0,0,0,0,
                         (GetColorInDef256Palette(SETUP_TRAN_COLOR))) ;
        DeleteObject((HGDIOBJ)hbmp);
        /* chosen choice */
        rect.left =CHOICE_STARTX+20;
        rect.right =CHOICE_STARTX+CHOICE_WIDTH;
        curchoice = GetCurChoice(p->SetupItems[i]);

        if(curchoice == PWD_CHOICE_STAR)
        {
            Str[0] = 0x00;
            Str[1] = 0x20;
            Str[2]=Str[3]=0x00;
            UNStringCat(Str,tmpStr);
        }
        else if(curchoice == COUNTRYCODE_CHOICE)
        {
            Str[0] = 0x00;
            Str[1] = 0x20;
            Str[2]=Str[4]=Str[6]=Str[7]=0x00;
            Str[3] = p->SetupItems[i]->CurPara[0];
            Str[5] = p->SetupItems[i]->CurPara[1];
        }
        else
        {
            Str[0]=0x00;
            Str[1]=0x20;
            count = LoadText((p->SetupItems[i]->wItemChoiceIDs)[curchoice],
                             &(Str[2]), STR_LEN);
            Str[2+count-1]=0x00;
            Str[2+count]=0x00;
        }
        DrawText(hdc,Str,-1,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER);
        if ((((p->SetupItems[i])->bObjectType) & 0x80) == 0x80)
        {
            SetTextColor(hdc, GetColorInDef256Palette(ITEM_TEXT_NORMAL));
            SetBkColor(hdc, GetColorInDef256Palette(ITEM_TEXT_BK_NORMAL));
        }
        #endif
        rect.left = ITEM_STARTX;
        rect.right = ITEM_STARTX + ITEM_WIDTH;
        OffsetRect(&rect, 0, ITEM_HIGH + ITEM_DISTANCE);
    }
    //only change
    //ShowCountryCode((p->SetupItems)[0],0);
    //ShowWarning(ON,CONFIRM_OK);
    //ShowWarning(SWITCH,CONFIRM_OK);
}

void ShowItems(pPAGE_S p)
{
    BYTE Str[STR_LEN];
    RECT rect;
    int count, i;
    LPBYTE curpara;
    BYTE curchoice;
    BYTE tmpStr [10]={0x00,0x2a,0x00,0x2a,0x00,0x2a,0x00,0x2a,0x00,0x00};
    HBRUSH hbr;



    /* item rect */
    for (i = 0; i<7; i++)
    {
     	SetRect(&rect,
       		ITEM_MENU_STARTX,
            		ITEM_CONTENT_STARTY+i*ITEM_CONTENT_HIGH,
            		ITEM_MENU_STARTX + ITEM_MENU_WIDTH,
            		ITEM_CONTENT_STARTY+(i+1)*ITEM_CONTENT_HIGH);
	 if(i<(p->bItemNums))
	 {
	        count = LoadText((p->SetupItems[i])->wItemID, Str, STR_LEN);
	        if ((((p->SetupItems[i])->bObjectType) & 0x80) == 0x80)
	        {
	        	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);
	        }
	        else
	        {
	        	GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_TEXT_COLOR),Str, UNICODE_STRING, DT_LEFT, 20);
	        }
	 }
	 else
	 {
	  	hbr = CreateSolidBrush(GetColorInDef256Palette(ITEMCHOICE_BG_COLOR));
	       FillRect(setupHDC,&rect,hbr);
	       DeleteObject((HGDIOBJ)hbr);
	 
	 }
    }
}

void ShowHelpWindow(HELPOP op)
{
    int i, count, interval;
    BYTE Str[STR_LEN];
    BYTE SetupHintStr[256]={0};
    BYTE EmptyStr[6]={0x00,0x20,0x00,0x20,0x00,0x00};
    BYTE bStrLen;
    RECT HelpRect;
    COLORREF textcolor,bgcolor;

    SetRect(&HelpRect,
            HELP_CONTENT_STARTX,
            HELP_CONTENT_STARTY,
            HELP_CONTENT_STARTX+HELP_CONTENT_WIDTH,
            HELP_CONTENT_STARTY+HELP_CONTENT_HIGH);
    textcolor = GetColorInDef256Palette(TEXT_NORMAL_COLOR);
    bgcolor = GetColorInDef256Palette(TEXTBG_NORMAL_COLOR);

    /* left most pos */
    for(i=0;(pMS_Setup_Help[op][i]!=NULL&&i<4);i++)
    {
        UNStringCat(SetupHintStr, pMS_Setup_Help[op][i]->massIndex);
        LoadText(pMS_Setup_Help[op][i]->strID, Str, STR_LEN);
        UNStringCat(SetupHintStr,Str);
        UNStringCat(SetupHintStr,EmptyStr);
    }
    GUI_CreateButtonControl2(setupHDC, &HelpRect, bgcolor, bgcolor, bgcolor, textcolor, SetupHintStr, UNICODE_STRING,  DT_RIGHT, 0); 

}
void ShowMenuIcon(pSETUP_S p, PAGEID id,MODETYPE mode)
{
    int i;
    for (i = 0; i < p->bPageNum; i++)
    {
        if (id == i )
        {
            HighLightPageIcon(p, i, mode);
        }
        else
            HighLightPageIcon(p, i, HL_OFF);
    }
}

void HighLightPageIcon(pSETUP_S p, PAGEID id, MODETYPE mode)
{
    int i;
    WORD wtmp;
    RECT rect;
    HBRUSH hbr;
    BYTE TitleStr[256];
    BYTE bInterval;


    if (id>=5)
    	bInterval = 0;
    else
    	bInterval= id;
    	
    if(mode ==HL_ON||mode == HL_GRAY)
    {
	//SetRect(&rect,ITEMCHOICE_MENUFRAME_TOP_X,ITEMCHOICE_MENUFRAME_TOP_Y,ITEMCHOICE_MENUFRAME_TOP_X+ITEMCHOICE_MENUFRAME_TOP_WIDTH,ITEMCHOICE_MENUFRAME_TOP_Y+ITEMCHOICE_MENUFRAME_TOP_HIGH);
	//GUI_CreateBitmapControl(setupHDC, &rect, CL_BKNOCARE, CL_BKNOCARE, CL_BKNOCARE,IM_MAIN_CONTENTS_BACK_UP, 0, 0);

    	
    	SetRect(&rect,PAGEICON_BASE_TOP_LEFT_X+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_BASE_TOP_LEFT_Y,
    			PAGEICON_BASE_TOP_LEFT_X+bInterval*PAGEICON_BASE_DISTANCE+PAGEICON_BASE_TOP_LEFT_IM_WIDTH,PAGEICON_BASE_TOP_LEFT_Y+PAGEICON_BASE_TOP_LEFT_IM_HIGH );
#if (_OSD_COLOR_SETUP_==_16_COLOR_SETUP_)
    	GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,IM_MAIN_ICON_SELECT_BOX_LEFT,0,0);
#else
    	GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,IM_MAIN_SELECT_BOX_LEFT,0,0);
#endif

    	SetRect(&rect,PAGEICON_STARTX+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_STARTY,
    			PAGEICON_STARTX+bInterval*PAGEICON_BASE_DISTANCE+PAGEIMG_WIDTH,PAGEICON_STARTY+PAGEIMG_HIGH);
    	GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,p->pSetupPages[id]->wIconID[1],0,0);


    	SetRect(&rect,PAGEICON_BASE_TOP_RIGHT_X+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_BASE_TOP_RIGHT_Y,
    			PAGEICON_BASE_TOP_RIGHT_X+bInterval*PAGEICON_BASE_DISTANCE+PAGEICON_BASE_TOP_RIGHT_IM_WIDTH,PAGEICON_BASE_TOP_RIGHT_Y+PAGEICON_BASE_TOP_LEFT_IM_HIGH );
#if (_OSD_COLOR_SETUP_==_16_COLOR_SETUP_)
    	GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,IM_MAIN_ICON_SELECT_BOX_RIGHT,0,0);
#else
    	GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,IM_MAIN_SELECT_BOX_RIGHT,0,0);
#endif


    	//SetRect(&rect,PAGEICON_BASE_FRONT_X+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_BASE_FRONT_Y,
    	//		PAGEICON_BASE_FRONT_X+bInterval*PAGEICON_BASE_DISTANCE+PAGEICON_BASE_FRONT_IM_WIDTH,PAGEICON_BASE_FRONT_Y+PAGEICON_BASE_FRONT_IM_HIGH );
    	//GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,IM_MAIN_ICON_SELECT_BOX_FRONT,0,0);
    	//LoadText(p->pSetupPages[id]->wLableID,TitleStr,STR_LEN);
    	//GUI_CreateButtonControl2(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,GetColorInDef256Palette(TITLE_TEXT_ON_COLOR),TitleStr,UNICODE_STRING,DT_CENTER,0);

    }
    else if(mode == HL_OFF)
    {
	SetRect(&rect,PAGEICON_BASE_TOP_LEFT_X+bInterval*PAGEICON_BASE_DISTANCE,PAGEICON_STARTY,
			PAGEICON_BASE_TOP_LEFT_X+(bInterval+1)*PAGEICON_BASE_DISTANCE,PAGEICON_STARTY+70);
	hbr = CreateSolidBrush(GetColorInDef256Palette(255));
       FillRect(setupHDC,&rect,hbr);
       DeleteObject((HGDIOBJ)hbr);

	SetRect(&rect,PAGEICON_BASE_TOP_LEFT_X+bInterval*PAGEICON_BASE_DISTANCE,TITLEBG_TOP_STARTY,
			PAGEICON_BASE_TOP_LEFT_X+(bInterval+1)*PAGEICON_BASE_DISTANCE,TITLEBG_TOP_STARTY+TITLEBG_TOP_HIGH);
	hbr = CreateSolidBrush(GetColorInDef256Palette(TITLEBG_TOP_COLOR));
       FillRect(setupHDC,&rect,hbr);
       DeleteObject((HGDIOBJ)hbr);
       
       SetRect(&rect,PAGEICON_BASE_TOP_LEFT_X+bInterval*PAGEICON_BASE_DISTANCE,TITLEBG_SIDE_STARTY,
			PAGEICON_BASE_TOP_LEFT_X+(bInterval+1)*PAGEICON_BASE_DISTANCE,TITLEBG_SIDE_STARTY+TITLEBG_SIDE_HIGH);
	hbr = CreateSolidBrush(GetColorInDef256Palette(TITLEBG_SIDE_COLOR));
       FillRect(setupHDC,&rect,hbr);
       DeleteObject((HGDIOBJ)hbr);


    	SetRect(&rect,PAGEICON_STARTX+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_STARTY,
    			PAGEICON_STARTX+bInterval*PAGEICON_BASE_DISTANCE+PAGEIMG_WIDTH,PAGEICON_STARTY+PAGEIMG_HIGH);
    	GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,p->pSetupPages[id]->wIconID[0],0,0);

    	//SetRect(&rect,PAGEICON_BASE_FRONT_X+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_BASE_FRONT_Y,
//    			PAGEICON_BASE_FRONT_X+bInterval*PAGEICON_BASE_DISTANCE+PAGEICON_BASE_FRONT_IM_WIDTH,PAGEICON_BASE_FRONT_Y+PAGEICON_BASE_FRONT_IM_HIGH );

      	//LoadText(p->pSetupPages[id]->wLableID,TitleStr,STR_LEN);
    	//GUI_CreateButtonControl2(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,GetColorInDef256Palette(TITLE_TEXT_OFF_COLOR),TitleStr,UNICODE_STRING,DT_CENTER,0);
#if 0
	if(bInterval == 0)
	{
		SetRect(&rect,ITEMCHOICE_MENUFRAME_LEFT_X,ITEMCHOICE_MENUFRAME_LEFT_Y,ITEMCHOICE_MENUFRAME_LEFT_X+ITEMCHOICE_MENUFRAME_LEFT_WIDTH,ITEMCHOICE_MENUFRAME_LEFT_Y+ITEMCHOICE_MENUFRAME_LEFT_HIGH);
		GUI_CreateBitmapControl(setupHDC, &rect, CL_TRANSPARENT, CL_TRANSPARENT, CL_TRANSPARENT,IM_MAIN_CONTENTS_BACK_LEFT, 0, 0);
	
	}
	else if(bInterval == 4)
	{
		SetRect(&rect,ITEMCHOICE_MENUFRAME_RIGHT_X,ITEMCHOICE_MENUFRAME_RIGHT_Y,ITEMCHOICE_MENUFRAME_RIGHT_X+ITEMCHOICE_MENUFRAME_RIGHT_WIDTH,ITEMCHOICE_MENUFRAME_RIGHT_Y+ITEMCHOICE_MENUFRAME_RIGHT_HIGH);
		GUI_CreateBitmapControl(setupHDC, &rect, CL_TRANSPARENT, CL_TRANSPARENT, CL_TRANSPARENT,IM_MAIN_CONTENTS_BACK_RIGHT, 0, 0);

	}
#endif
    }
    //else if(mode == HL_GRAY)
    //{
    	//SetRect(&rect,PAGEICON_BASE_FRONT_X+bInterval*PAGEICON_BASE_DISTANCE, PAGEICON_BASE_FRONT_Y,
    	//		PAGEICON_BASE_FRONT_X+bInterval*PAGEICON_BASE_DISTANCE+PAGEICON_BASE_FRONT_IM_WIDTH,PAGEICON_BASE_FRONT_Y+PAGEICON_BASE_FRONT_IM_HIGH );
    	//GUI_CreateBitmapControl(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,IM_MAIN_ICON_SELECT_BOX_FRONT,0,0);
    	//LoadText(p->pSetupPages[id]->wLableID,TitleStr,STR_LEN);
    	//GUI_CreateButtonControl2(setupHDC,&rect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,GetColorInDef256Palette(TITLE_TEXT_OFF_COLOR),TitleStr,UNICODE_STRING,DT_CENTER,0);

    //}
    	
}

static BYTE SecondCur[2]={0xe0,0x11};
static BYTE CheckIcon[2]={0xe0,0x16};
static BYTE LockIcon[2]={0xe0,0x1c};
static BYTE UnLockIcon[2]={0xe0,0x1d};
static BYTE DownIcon[2]={0xe0,0x18};
static BYTE UpIcon[2]={0xe0,0x17};

void HighLightItem(pITEM_S pItem, ITEMID id, MODETYPE mode)
{
    int count,i;
    BYTE Str[STR_LEN] ;
    BYTE EmptyStr[6]={0x00,0x20,0x00,0x20,0x00,0x00};
    RECT rect,rect2;
    HDC hcdc;
    HBITMAP hbitmap;
    HGDIOBJ holdbitmap;
    HBRUSH hbr;
    BYTE bgcol, txtcol;//added by xianzhong

    /* submenu rect */
    SetRect(&rect,
            ITEM_MENU_STARTX,
            ITEM_CONTENT_STARTY + id*(ITEM_CONTENT_HIGH),
            ITEM_MENU_STARTX + ITEM_CONTENT_WIDTH+20,
            ITEM_CONTENT_STARTY + id*(ITEM_CONTENT_HIGH) + ITEM_CONTENT_HIGH);

    switch (mode)
    {/*modify by xianzhong to down size.   Aug.4.2004*/
    case HL_ON://text and rect color set and image
        bgcol = CHOICE_BG_COLOR;
        txtcol = CHOICE_TEXT_HL_COLOR;
    //    count = LoadText(pItem->wItemID, Str, STR_LEN);

⌨️ 快捷键说明

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