📄 setupshow.c
字号:
CHOICE_CONTENT_STARTY + pos * interval + CHOICE_CONTENT_HIGH);
switch (mode)
{
case HL_ON:
{
// ReDraw(&rect);
idx_t = CHOICE_TEXT_HL_COLOR;
idx_b = CHOICE_BG_COLOR;
break;
}
case HL_OFF:
{
idx_t = CHOICE_TEXT_COLOR;
idx_b = CHOICE_BG_COLOR;
break;
}
case HL_GRAY:
{
idx_t = CHOICE_TEXT_COLOR;
idx_b = TEXTBG_NORMAL_COLOR;
break;
}
default:
return;
}
/* highlight */
count = LoadText(p->wItemChoiceIDs[id], Str, STR_LEN);
GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(idx_b), GetColorInDef256Palette(idx_b), GetColorInDef256Palette(idx_b), GetColorInDef256Palette(idx_t),
Str, UNICODE_STRING, DT_LEFT, 20);
/* the chosen one */
if(mode == HL_ON && choice==LOCK && id<CheckChoice && id>0)
{
rect2.right = rect2.right-4;
DrawText(hdc,LockIcon,2,&rect2, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
}
if (CheckChoice == id /*&& mode == HL_OFF*/)
{
ShowCheck(CheckChoice, FirstChoiceID, LastChoiceID,interval,mode);
}
ShowChoiceArrow(p->bRange);
#if (_SETUP_MIXCHOICE_MODE ==_SETUP_MIXCHOICE_ENABLE_)
if (choice == OTHER && id == p->bRange-1)
ShowOtherNum(FirstChoiceID,LastChoiceID,id,interval,p->CurPara,mode);
#endif
}
void ShowPassword(PWDTYPE type, CONTENT content)
{
BYTE Str[STR_LEN];
HBRUSH hbr;
int count;
RECT pwdrect ={PWDBOX_STARTX+24,PWDBOX_STARTY+14,PWDBOX_STARTX+24+160,PWDBOX_STARTY+14+26};
RECT framerect,inputrect,rect,okrect;
int i;
BYTE StarStr [4]= {0x00,0x2a,0x00,0x00};
WORD NoticeID[3] = {RS_SETUP_LOCK_PASSWORD,RS_SETUP_LOCK_NEW,RS_SETUP_LOCK_VERIFY};
BYTE InputStr[10] ;
SetRect(&okrect,PWDBOX_STARTX+142 , PWDBOX_STARTY+48, PWDBOX_STARTX+142+60, PWDBOX_STARTY+48+26);
switch(type)
{
case PSW_INPUT:
case PSW_NEW:
case PSW_VERIFY:
count = LoadText(NoticeID[type], Str, STR_LEN);
for(i=0;i<4;i++)
{
InputStr[i*2]=0x00;
InputStr[i*2+1]=0x2d;
}
InputStr[8] = InputStr[9] = 0x00;
SetRect(&framerect, PASSWORD_LEFT_STARTX, PASSWORD_LEFT_STARTY,
PASSWORD_LEFT_STARTX+186,PASSWORD_LEFT_STARTY+85);
#if (_OSD_COLOR_SETUP_==_16_COLOR_SETUP_)
GUI_CreateLeftMidRightBitmap(setupHDC, &framerect, IM_MAIN_POPUP_LEFT, IM_MAIN_POPUP_MIDDLE, IM_MAIN_POPUP_RIGHT, TRUE);
#else
GUI_CreateLeftMidRightBitmap(setupHDC, &framerect, IM_MAIN_POPUP_LEFT, IM_MAIN_POPUP_MIDDLE, IM_MAIN_POPUP_RIGHT, TRUE);
#endif
SetRect(&rect, PASSWORD_CONTENT_STARTX, PASSWORD_CONTENT_STARTY,
PASSWORD_CONTENT_STARTX+PASSWORD_CONTENT_WIDTH,PASSWORD_CONTENT_STARTY+24);
GUI_CreateButtonControl2(setupHDC, &rect, CL_BKNOCARE, CL_BKNOCARE, CL_BKNOCARE, GetColorInDef256Palette(ITEMCHOICE_TEXT_COLOR), Str, UNICODE_STRING, DT_CENTER, 0);
SetRect(&rect, PASSWORD_INPUT_STARTX, PASSWORD_INPUT_STARTY,
PASSWORD_INPUT_STARTX+PASSWORD_INPUT_WIDTH,PASSWORD_INPUT_STARTY+PASSWORD_INPUT_HIGH);
GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_TEXT_COLOR), InputStr, UNICODE_STRING, DT_CENTER, 0);
break;
case PSW_INPUTING:
case PSW_CLEARING_ONE:
for(i=0;i<=content;i++)
{
InputStr[i*2]=0x00;
InputStr[i*2+1]=0x2a;
}
if(content<3)
{
for(i=content+1;i<4;i++)
{
InputStr[i*2]=0x00;
InputStr[i*2+1]=0x2d;
}
}
InputStr[8] = InputStr[9] = 0x00;
SetRect(&rect, PASSWORD_INPUT_STARTX, PASSWORD_INPUT_STARTY,
PASSWORD_INPUT_STARTX+PASSWORD_INPUT_WIDTH,PASSWORD_INPUT_STARTY+PASSWORD_INPUT_HIGH);
GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_TEXT_COLOR), InputStr, UNICODE_STRING, DT_CENTER, 0);
break;
case PSW_CANCEL:
SetRect(&rect,PASSWORD_LEFT_STARTX, PASSWORD_LEFT_STARTY,
CHOICE_MENU_STARTX,PASSWORD_LEFT_STARTY+PASSWORD_LEFT_HIGH);
hbr = CreateSolidBrush(GetColorInDef256Palette(ITEMCHOICE_BG_COLOR));
FillRect(setupHDC,&rect,hbr);
DeleteObject((HGDIOBJ)hbr);
SetRect(&rect,CHOICE_MENU_STARTX, PASSWORD_LEFT_STARTY,
PASSWORD_LEFT_STARTX+186,PASSWORD_LEFT_STARTY+PASSWORD_LEFT_HIGH);
hbr = CreateSolidBrush(GetColorInDef256Palette(CHOICE_BG_COLOR));
FillRect(setupHDC,&rect,hbr);
DeleteObject((HGDIOBJ)hbr);
break;
case PSW_CLEARING_ALL:
for(i=0;i<4;i++)
{
InputStr[i*2]=0x00;
InputStr[i*2+1]=0x2d;
}
InputStr[8] = InputStr[9] = 0x00;
SetRect(&rect, PASSWORD_INPUT_STARTX, PASSWORD_INPUT_STARTY,
PASSWORD_INPUT_STARTX+PASSWORD_INPUT_WIDTH,PASSWORD_INPUT_STARTY+PASSWORD_INPUT_HIGH);
GUI_CreateButtonControl2(setupHDC, &rect, GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(CHOICE_BG_COLOR), GetColorInDef256Palette(ITEMCHOICE_TEXT_COLOR), InputStr, UNICODE_STRING, DT_CENTER, 0);
break;
}
}
#if (_SETUP_PSCAN_MODE == _SETUP_PSCAN_ENABLE_)
void ShowWarning(Status stat, WarningType type)
{
int i,count;
BYTE Str[STR_LEN];
RECT rect;
HBITMAP hbmp;
WORD confirm[2] = {RS_SETUP_CONFIRM_PROGSCAN_CONFIRM,RS_SETUP_CONFIRM_PROGSCAN_CONFIRM1};
if (stat == ON || stat == OFF)
{
DCOp(stat);
//if (stat == ON)
//{
/* show warning icon */
/** \bug no image now */
/*hbmp=LoadBitmap(NULL,GET_IMNAME(IM_DISC_ERR_CHECK));
TransparentImage(hdc,
50,
50,
100,
100,
hbmp,
0,
0,
0,
0,
(GetColorInDef256Palette(SETUP_TRAN_COLOR)));
DeleteObject((HGDIOBJ)hbmp);*/
//}
return;
}
/*modify by xianzhong to down size. Aug.4.2004*/
_SetColorMode(251, 236, TRUE, OPAQUE);
// SetBkMode(setupHDC, OPAQUE);
SetupDraw3DFloatBox(WARNING_X,WARNING_Y,WARNING_W,WARNING_H);
// warning text
SetRect(&rect,
WARNING_TEXT_X,
WARNING_TEXT_Y,
WARNING_TEXT_X + WARNING_TEXT_W,
WARNING_TEXT_Y + WARNING_TEXT_H);
// SetTextColor(setupHDC, GetColorInDef256Palette(236));
// SetBkColor(setupHDC, GetColorInDef256Palette(251));
for (i = 0; i < 2; i++)
{
count = LoadText(confirm[i], Str, STR_LEN);
DrawText(setupHDC,Str,count, &rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CHARCLIP);
OffsetRect(&rect, 0, 5+WARNING_TEXT_H);
}
// draw ok/cancel box
ShowWarningButton(type);
}
void ShowWarningButton(WarningType type)
{
int seq[2] = {0,0};
COLORREF ref[2][3];
int i,count;
BYTE Str[STR_LEN];
RECT rect;
WORD check[2] = {RS_SETUP_HELP_ENTER,RS_SETUP_HELP_CANCLE};
if (type == CONFIRM_OK)
seq[0]=1;
else
seq[1]=1;
ref[0][0]=GetColorInDef256Palette(62);
ref[1][0]=GetColorInDef256Palette(29);
ref[0][1]=GetColorInDef256Palette(31);
ref[1][1]=GetColorInDef256Palette(155);
ref[0][2]=GetColorInDef256Palette(128);
ref[1][2]=GetColorInDef256Palette(167);
SetRect(&rect,
WARNING_CHECK_X,
WARNING_CHECK_Y,
WARNING_CHECK_X + WARNING_CHECK_W,
WARNING_CHECK_Y + WARNING_CHECK_H);
for (i = 0; i < 2; i++)
{
SetTextColor(setupHDC, GetColorInDef256Palette(236));
Draw3DRect(setupHDC,&rect,ref[seq[i]][0],ref[seq[i]][1],ref[seq[i]][2],EDGE_RAISED,BF_RECT | BF_MIDDLE );
count = LoadText(check[i], Str, STR_LEN);
InflateRect(&rect, -2,-2);
SetTextColor(setupHDC, GetColorInDef256Palette(236));
SetBkColor(setupHDC, ref[seq[i]][0]);
DrawText(setupHDC,Str,count, &rect,
DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
InflateRect(&rect, 2,2);
OffsetRect(&rect, 5+WARNING_CHECK_W, 0);
}
}
#if (_SETUP_51SPEAKER_MODE == _SETUP_51SPEAKER_ENABLE_)
void HighLightImage(BYTE CurSpeaker, MODETYPE mode)
{
RECT imgrect;
BYTE bImgIndex;
if(mode == HL_ON)
bImgIndex = 1;
else
bImgIndex = 0;
SetRect(&imgrect, SetupSPKImg[CurSpeaker].x, SetupSPKImg[CurSpeaker].y,
SetupSPKImg[CurSpeaker].x+SetupSPKImg[CurSpeaker].width, SetupSPKImg[CurSpeaker].y+SetupSPKImg[CurSpeaker].high);
GUI_CreateBitmapControl(setupHDC,&imgrect,CL_BKNOCARE,CL_BKNOCARE,CL_BKNOCARE,SetupSPKImg[CurSpeaker].ImgID[bImgIndex],0,0);
}
#endif
#endif
/*added by xianzhong to down size. Aug.4.2004*/
void CommonShowSetupMenu(pSETUP_S p, BYTE type, BYTE nPage, BYTE nItem, BYTE nChoice, HELPOP op, MODETYPE mode)
{
// MY_PRINTF("type: %d\n", type);
if(type & (1<<0))
{
DCOp(DC_ON);
ShowBGFrame();
ShowMenuIcon(p, nPage ,HL_ON);
ShowTitle(p->pSetupPages[nPage]);
}
if(type & (1<<1)) ShowSubMenu(p->pSetupPages[nPage]);
if(type & (1<<2)) ShowHelpWindow(op);
//Joey modify for all case of setup page show, you can reorder them for optimization.
//take care of the sequence!!!!show item and choices order!!!!
if(type & (1<<6)) ShowItems(p->pSetupPages[nPage]);
if(type & (1<<4)) ShowChoices(p->pSetupPages[nPage]->SetupItems[nItem],nItem,CHOICE_ALIGN);
if(type & (1<<3)) HighLightItem(p->pSetupPages[nPage]->SetupItems[nItem], nItem, mode);
if(type & (1<<5)) HighLightChoice(p->pSetupPages[nPage]->SetupItems[nItem], nChoice, NORMAL, HL_ON);
}
/*!
* Func Name: ShowSetupMenu
* Arg : pSETUP_S
* the point to the setup struct your want to show
* return : void
* Remark : show the setup menu's left column
*/
void ShowSetupMenu(pSETUP_S p)
{
/* step 1: show background logo */
SetupShowLogo();
CommonShowSetupMenu(p, ((1<<0) + (1<<1) + (1<<2)), FIRST_ONE, 0, 0, HELP_LEVEL1, 0);
#if 0/*modify by xianzhong to down size. Aug.4.2004*/
DCOp(DC_ON);
ShowBGFrame();
/* step 2: show icon */
ShowMenuIcon(p,FIRST_ONE ,HL_ON);
ShowTitle(p->pSetupPages[FIRST_ONE]);
/* step 3: show title */
//ShowTitle(p->pSetupPages[FIRST_ONE]);
/* step 4: show sub menu */
ShowSubMenu(p->pSetupPages[FIRST_ONE]);
/* step 5: show help window */
ShowHelpWindow(HELP_LEVEL1);
#endif
}
void ShowSetupMenu1(pSETUP_S p)
{
/* step 1: show background logo */
SetupShowLogo();
CommonShowSetupMenu(p, ((1<<0) + (1<<1) + (1<<2) + (1<<3) + (1<<4)), 4, 3, 0, HELP_LEVEL2, 0);
#if 0/*modify by xianzhong to down size. Aug.4.2004*/
DCOp(DC_ON);
ShowBGFrame();
/* step 2: show icon */
ShowMenuIcon(p,4 ,HL_ON);
ShowTitle(p->pSetupPages[4]);
/* step 3: show title */
//ShowTitle(p->pSetupPages[FIRST_ONE]);
/* step 4: show sub menu */
ShowSubMenu(p->pSetupPages[4]);
/* step 5: show help window */
ShowChoices(p->pSetupPages[4]->SetupItems[3],3,CHOICE_ALIGN);
HighLightItem(p->pSetupPages[4]->SetupItems[3], 3, HL_ON);
ShowHelpWindow(HELP_LEVEL2);
// ShowHelpWindow(HELP_LEVEL1);
#endif
}
#if (_SETUP_51SPEAKER_MODE == _SETUP_51SPEAKER_ENABLE_)
void ShowAudioItemsChoices(pPAGE_S p)
{
RECT rect;
int i;
BYTE Str[STR_LEN];
int count;
WORD wTop,wBottom;
B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -