demo_gui_radiobox.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * 程序清单:radiobox控件演示
  3. *
  4. * 这个例子会在创建出的view上添加两个不同方向的radiobox控件
  5. */
  6. #include "demo_view.h"
  7. #include <rtgui/widgets/radiobox.h>
  8. static rt_uint32_t bind_var;
  9. /* 创建用于演示radiobox控件的视图 */
  10. rtgui_view_t* demo_gui_radiobox(rtgui_view_t* parent_view)
  11. {
  12. rtgui_view_t* view;
  13. rtgui_radiobox_t *rbox;
  14. rtgui_rb_group_t *group,*_group;
  15. /* 先创建一个演示用的视图 */
  16. view = demo_view_create(parent_view, "RadioBox View");
  17. /* 使用方法一 */
  18. /* 可以先创建一个组对象,再使用 */
  19. group = rtgui_radiobox_create_group();
  20. rtgui_radiobox_create(view, "radio1", 5, 40, 100, 20, group);
  21. rtgui_radiobox_create(view, "radio2", 5, 60, 100, 20, group);
  22. /* 使用方法二 */
  23. rbox = rtgui_radiobox_create(view, "radio-x", 5, 90, 100, 20, RT_NULL);
  24. /* 也可以从radiobox控件中获得一个组对象 */
  25. group = rtgui_radiobox_get_group(rbox);
  26. _group = rtgui_radiobox_create_group();
  27. rtgui_radiobox_create(view, "radio_m", 20,110, 100, 20, _group);
  28. rtgui_radiobox_create(view, "radio_n", 20,130, 100, 20, _group);
  29. /* 设定一个初始值 */
  30. rtgui_rb_group_set_sel(_group, 1);
  31. rtgui_radiobox_create(view, "radio-y", 5, 150, 100, 20, group);
  32. /* 可以为组绑定一个变量,之后可以使用该变量获得group的当前焦点 */
  33. rtgui_rb_group_bind(group, &bind_var);
  34. return view;
  35. }