/* 创建一个带文本内容的单选框 */ LCUI_API LCUI_Widget* RadioButton_New( const char *text ) { LCUI_Widget widget; widget = Widget_New("radio_button"); RadioButton_Text(widget, text); return widget; }
int main(void) { int i; char text[5][10] = { "蓝色","绿色", "红色", "橙色", "紫色" }; LCUI_Pos offset_pos[5]={{-120,0},{-60,0},{0,0},{60,0},{120,0}}; LCUI_Init(); main_window = Widget_New( "window" ); btn_ok = Widget_New( "button" ); label = Widget_New( "label" ); /* 设置窗口的尺寸以及标题栏文本 */ Widget_Resize( main_window, Size(320, 240) ); Window_SetTitleText( main_window, "测试窗口的风格切换" ); /* 创建5个单选框部件 */ for(i=0; i<5; ++i) { rdbtn[i] = Widget_New( "radio_button" ); Window_ClientArea_Add( main_window, rdbtn[i] ); Widget_SetAlign( rdbtn[i], ALIGN_MIDDLE_CENTER, offset_pos[i] ); RadioButton_Text( rdbtn[i], text[i] ); Widget_Show( rdbtn[i] ); } /* 为单选框建立互斥关系 */ RadioButton_CreateMutex(rdbtn[0], rdbtn[1]); RadioButton_CreateMutex(rdbtn[0], rdbtn[2]); RadioButton_CreateMutex(rdbtn[0], rdbtn[3]); RadioButton_CreateMutex(rdbtn[0], rdbtn[4]); RadioButton_SetOn( rdbtn[0] ); /* 禁用按钮部件的自动尺寸调整 */ Widget_SetAutoSize( btn_ok, FALSE, 0 ); Widget_Resize( btn_ok, Size(100, 30) ); /* 将部件加入窗口客户区 */ Window_ClientArea_Add( main_window, btn_ok ); Window_ClientArea_Add( main_window, label ); /* 设置部件的布局 */ Widget_SetAlign( btn_ok, ALIGN_MIDDLE_CENTER, Pos(0,50) ); Widget_SetAlign( label, ALIGN_MIDDLE_CENTER, Pos(0,-50) ); /* 设置部件的文本 */ Button_Text( btn_ok, "应用" ); Label_Text( label, "选择窗口配色:" ); /* 为按钮的点击事件关联回调函数 */ Widget_Event_Connect( btn_ok, EVENT_CLICKED, switch_style ); Widget_Event_Connect( Window_GetCloseButton(main_window), EVENT_CLICKED, destroy ); /* 显示部件 */ Widget_Show( btn_ok ); Widget_Show( label ); Widget_Show( main_window ); /* 进入主循环 */ return LCUI_Main(); }