|
楼主 |
发表于 2018-10-26 21:40:27
|
显示全部楼层
本帖最后由 hpdell 于 2018-10-26 21:41 编辑
你好,使用这个函数貌似也不能给实现我上图的效果啊,函数如下:
static int _DrawSkin_BUTTON(const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo) {
switch (pDrawItemInfo->Cmd) {
case WIDGET_ITEM_DRAW_BACKGROUND: //处理了绘制背景命令 WIDGET_ITEM_DRAW_BACKGROUND
// 扁平化风格按钮
GUI_SetColor(0xA8A851);
if (BUTTON_IsPressed(pDrawItemInfo->hWin))
{ //通过函数 BUTTON_IsPressed 来判断按钮是否按下,如果按下的话,通过函数
GUI_AA_FillRoundedRect(pDrawItemInfo->x0, pDrawItemInfo->y0, pDrawItemInfo->x1, pDrawItemInfo->y1, 6);
}
else
{
GUI_DrawGradientH (pDrawItemInfo->x0, pDrawItemInfo->y0, pDrawItemInfo->x1, pDrawItemInfo->y1,
GUI_BLUE,
GUI_WHITE
);
}
break;
default:
return BUTTON_DrawSkinFlex(pDrawItemInfo); //--------------(4)
}
return 0;
}
int main(void)
{
... ...
BUTTON_SetSkin(WM_GetDialogItem(hWin,GUI_ID_BUTTON_BEQU), _DrawSkin_BUTTON);
......
}
实现的效果如下:
想要实现我 的
这个效果,该如何搞啊 ? 单个按钮修改的情况
|
|