1,用bool_button控件
layout.ini
main_win = {
type = "window"
x = 0
y = 0
w = 1024
h = 600
style = "main_win"
flags={
window_splash
}
audioBtn = {
type = "bool_button"
x = 10
y = 10
w = 172
h = 70
style = "audiobtn_style"
}
videoBtn = {
type = "bool_button"
x = 10
y = 90
w = 172
h = 70
style = "videobtn_style"
}
picBtn = {
type = "bool_button"
x = 10
y = 170
w = 172
h = 70
style = "picturebtn_style"
}
}
2,style.rc
bool_button.audiobtn_style {
[nad]
bg="./images/list_btn_music_n.png",stretch_normal
[s]
bg="./images/list_btn_music_p.png",stretch_normal
}
bool_button.videobtn_style {
[nad]
bg="./images/list_btn_video_n.png",stretch_normal
[s]
bg="./images/list_btn_video_p.png",stretch_normal
}
bool_button.picturebtn_style {
[nad]
bg="./images/list_btn_image_n.png",stretch_normal
[s]
bg="./images/list_btn_image_p.png",stretch_normal
}
2,用twRadioGroupAdd将控件加到一個組裡面
int main(int argc, const char *argv[])
{ TWidget *root;
root = TwAppInit();
signal(SIGTERM, &signal_handler);
/*讀取配置檔案config.ini*/
TwConfigParseFile(TGetExecutePath("../etc/config.ini"));
TWidget *audioBtn = (TWidget*)TObjectGetFromName("audioBtn");
TWidget *videoBtn = (TWidget*)TObjectGetFromName("videoBtn");
TWidget *picBtn = (TWidget*)TObjectGetFromName("picBtn");
TWidget *meidiaTypeGroup[3];
meidiaTypeGroup[0] = audioBtn;
meidiaTypeGroup[1] = videoBtn;
meidiaTypeGroup[2] = picBtn;
twRadioGroupAdd(meidiaTypeGroup, meidiaTypeGroup[0], "meidiatypegroup");
twRadioGroupAdd(meidiaTypeGroup, meidiaTypeGroup[1], "meidiatypegroup");
twRadioGroupAdd(meidiaTypeGroup, meidiaTypeGroup[2], "meidiatypegroup");
TObjectAddEventHandler(audioBtn, CLICKED, click3func, (void *)"audioBtn");
TObjectAddEventHandler(videoBtn, CLICKED, click3func, (void *)"videoBtn");
TObjectAddEventHandler(picBtn, CLICKED, click3func, (void *)"picBtn");
TwSetValue(picBtn, 1);
TwMainLoop();
return 0;
}
3,通過TwSetValue設定控件的選中和非選中狀态。
static void click3func(void *obj, T_ID event, TTable *in, void *arg, TExist *exist)
{
const char *pbtn = (const char*)arg;
TWidget *audioBtn = (TWidget*)TObjectGetFromName("audioBtn");
TWidget *videoBtn = (TWidget*)TObjectGetFromName("videoBtn");
TWidget *picBtn = (TWidget*)TObjectGetFromName("picBtn");
printf("click3func---pbtn:%s\n", pbtn);
if(!strcmp(pbtn, "audioBtn"))
{
TwSetValue(audioBtn, 1);
TwSetValue(videoBtn, 0);
TwSetValue(picBtn, 0);
}
else if(!strcmp(pbtn, "videoBtn"))
{
TwSetValue(audioBtn, 0);
TwSetValue(videoBtn, 1);
TwSetValue(picBtn, 0);
}
else if(!strcmp(pbtn, "picBtn"))
{
TwSetValue(audioBtn, 0);
TwSetValue(videoBtn, 0);
TwSetValue(picBtn, 1);
}
}