|
创建了一个DropDown控件,使用了自定义皮肤,但是只显示GUI_GRAY一种颜色,对聚焦和展开都没有反应,不知为何?
请版主赐教,谢谢~
/********************其自定义皮肤函数***************************/
static int _DrawSkin_DropDown(const WIDGET_ITEM_DRAW_INFO *pDrawItemInfo)
{
GUI_RECT Rect;
Rect.x0 = pDrawItemInfo->x0;
Rect.y0 = pDrawItemInfo->y0;
Rect.x1 = pDrawItemInfo->x1;
Rect.y1 = pDrawItemInfo->y1;
switch (pDrawItemInfo->Cmd)
{
case WIDGET_ITEM_DRAW_BACKGROUND:
if (pDrawItemInfo->ItemIndex == DROPDOWN_SKINFLEX_PI_FOCUSED)
{
GUI_SetColor(GUI_WHITE);
GUI_AA_FillRoundedRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1, 0);
}
else if (pDrawItemInfo->ItemIndex == DROPDOWN_SKINFLEX_PI_EXPANDED)
{
GUI_SetColor(GUI_BLUE);
GUI_AA_FillRoundedRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1, 0);
}
else
{
GUI_SetColor(GUI_GRAY); // 只显示这里的颜色
GUI_AA_FillRoundedRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1, 0);
}
break;
default:
return DROPDOWN_DrawSkinFlex(pDrawItemInfo);
}
return 0;
}
/**************DropDown控件建立代码*********************/
static DROPDOWN_Handle hDropDown;
hDropDown = DROPDOWN_CreateEx(100, 62, 90, 30, pMsg->hWin, WM_CF_SHOW, 0, ID_DROPDOWN_1);
DROPDOWN_SetFont(hDropDown, GUI_FONT_24B_ASCII);
DROPDOWN_AddString(hDropDown, "Item1");
DROPDOWN_AddString(hDropDown, "Item2");
DROPDOWN_AddString(hDropDown, "Item3");
DROPDOWN_SetListHeight(hDropDown, 90);
DROPDOWN_SetSkin(hDropDown, _DrawSkin_DropDown); |
|