|

楼主 |
发表于 2016-1-7 17:07:20
|
显示全部楼层
我使用别的控件实验了一下,发现在换肤前需要调用XXX_SetSkin()函数,比如下面的代码就可以改变BUTTON的外观。
BUTTON_SetSkin(hItem, BUTTON_SKIN_FLEX); //需加上此句才能正确显示
BUTTON_GetSkinFlexProps(&BUTTON_pProps,BUTTON_SKINFLEX_PI_ENABLED);
BUTTON_pProps.aColorFrame[0]=GUI_GREEN;
BUTTON_pProps.aColorFrame[1]=GUI_GREEN;
BUTTON_pProps.Radius=10;
BUTTON_SetSkinFlexProps(&BUTTON_pProps,BUTTON_SKINFLEX_PI_ENABLED);
但是,奇怪的是,我仿照这种做法对RADIO的外观进行更改,编译通过,运行后会死机! 注释掉RADIO_SetSkin(hItem, RADIO_SKIN_FLEX);后可以运行,可是皮肤就没法更改了。
// RADIO_SetSkin(hItem, RADIO_SKIN_FLEX);
RADIO_GetSkinFlexProps(&RADIO_pProps, RADIO_SKINFLEX_PI_PRESSED);
RADIO_pProps.aColorButton[0] = GUI_GREEN;
RADIO_pProps.ButtonSize = 10;
RADIO_SetSkinFlexProps(&RADIO_pProps, RADIO_SKINFLEX_PI_PRESSED);
死机的原因大概是指针错误或者空指针之类的,是我调用的不对吗?还是说5.22对RADIO控件的支持存在问题? |
|