demo_gui_label.c 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * 程序清单:label控件演示
  3. *
  4. * 这个例子会在创建出的view上添加几个不同类型的label控件
  5. */
  6. #include "demo_view.h"
  7. #include <rtgui/widgets/label.h>
  8. /* 创建用于演示label控件的视图 */
  9. rtgui_view_t* demo_gui_label(rtgui_view_t* parent_view)
  10. {
  11. rtgui_view_t* view;
  12. rtgui_label_t* label;
  13. rtgui_font_t* font;
  14. /* 先创建一个演示用的视图 */
  15. view = demo_view_create(parent_view, "Label View");
  16. /* 创建一个label控件 */
  17. label = rtgui_label_create(view, "Red Left", 10, 40, 200, 20);
  18. /* 设置label控件上的文本对齐方式为:左对齐 */
  19. RTGUI_WIDGET_TEXTALIGN(label) = RTGUI_ALIGN_LEFT|RTGUI_ALIGN_CENTER_VERTICAL;
  20. /* 设置label控件的前景色为红色 */
  21. RTGUI_WIDGET_FOREGROUND(label) = red;
  22. RTGUI_WIDGET_BACKGROUND(label) = white;
  23. label = rtgui_label_create(view, "Blue Right", 10, 65, 200, 20);
  24. RTGUI_WIDGET_TEXTALIGN(label) = RTGUI_ALIGN_RIGHT|RTGUI_ALIGN_CENTER_VERTICAL;
  25. RTGUI_WIDGET_FOREGROUND(label) = blue;
  26. RTGUI_WIDGET_BACKGROUND(label) = white;
  27. label = rtgui_label_create(view, "Green Center", 10, 90, 200, 20);
  28. RTGUI_WIDGET_TEXTALIGN(label) = RTGUI_ALIGN_CENTER_HORIZONTAL|RTGUI_ALIGN_CENTER_VERTICAL;
  29. RTGUI_WIDGET_FOREGROUND(label) = green;
  30. RTGUI_WIDGET_BACKGROUND(label) = white;
  31. label = rtgui_label_create(view, "12 font",10, 115, 200, 20);
  32. /* 设置字体为12点阵的asc字体 */
  33. font = rtgui_font_refer("asc", 12);
  34. RTGUI_WIDGET_FONT(label) = font;
  35. RTGUI_WIDGET_BACKGROUND(label) = white;
  36. label = rtgui_label_create(view, "16 font", 10, 140, 200, 20);
  37. font = rtgui_font_refer("asc", 16);
  38. RTGUI_WIDGET_FONT(RTGUI_WIDGET(label)) = font;
  39. RTGUI_WIDGET_BACKGROUND(label) = white;
  40. return view;
  41. }