2007-11-28 MiniGUI皮肤界面普通标签的使用

 

在skindemo.c中并没有普通标签的使用方法,花了点时间研究出来了,关键是皮肤界面结构体里面的字体成员fonts的赋值,关键代码如下:

 

static si_nrmlabel_t title ={"Hello", 0xDD0000, 0x00FF00, 0xFF0000, 0};

 

static skin_item_t skin_main_items [] =

{

 {SIID_TITLE, SI_TYPE_NRMLABEL | SI_TEST_SHAPE_RECT |SI_STATUS_VISIBLE,

15, 0, {}, -1, "Title", 0, &title},

};

 

/* 字节资源装/卸载函数 */

void load_skin_fonts (skin_head_t *skin, BOOL load)

{

 int font_num = 2;

 LOGFONT *my_logfont;

 

 if (load)

 {

  skin->fonts = (LOGFONT* ) calloc (font_num, sizeof(LOGFONT));

  my_logfont = CreateLogFont (NULL, "song", "GB2312",

   FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,

   FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE, 12, 0);

  memcpy((void *)&skin->fonts[0], (void *)my_logfont, sizeof(LOGFONT));

  DestroyLogFont(my_logfont);/* 释放字体 */

  my_logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",

               FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_SETWIDTH_NORMAL,

                     FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,

                        16, 0);

  memcpy((void *)&skin->fonts[1], (void *)my_logfont, sizeof(LOGFONT));

  DestroyLogFont(my_logfont);/* 释放字体 */

 }

 else

 {

  free ((void *)skin->fonts);

 }

}

然后再主函数中调用,完成卸载即可.

-----------------------------------------------------------

zozo:以上的例子相当有意义,minigui 矛盾的开源策略下,导致它给的指南里关于这一块只有几句话,像我这样的初学者根本摸索不出来。

转至:http://blog.chinaunix.net/u/19671/showart_127590.html

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值