如何给Widget中的文字设置上划线

怎么给Widget中的文字设置下划线?
我想通过Widget模拟超链接文字,用户设定文字大小和颜色,我把文字以超连接的方式显示。

现在可以通过IWidget_SetFontClass(m_pWidget, fontClass)来设定字体格式,因为用户设定的字体是以bold|lager这类的格式设定的,系统的AEEFontsStandard.BID文件中对fontClass的定义如下:

#define AEECLSID_FONT_STANDARD11     0x0102f679
#define AEECLSID_FONT_STANDARD11B       0x0102f67a
#define AEECLSID_FONT_STANDARD15        0x01030852
#define AEECLSID_FONT_STANDARD15B       0x01030853
#define AEECLSID_FONT_STANDARD18        0x0102f67b
#define AEECLSID_FONT_STANDARD18B       0x0102f67c
#define AEECLSID_FONT_STANDARD23        0x0102f67d
#define AEECLSID_FONT_STANDARD23B       0x0102f67e
#define AEECLSID_FONT_STANDARD26        0x0102f67f
#define AEECLSID_FONT_STANDARD26B       0x0102f680
#define AEECLSID_FONT_STANDARD36        0x0102f681

也就是说只能设定加粗和字体大小。我两加下划线,通过下面的代码:

    IHFont* pTempFont = NULL;
    ITypeface *pitf = NULL;
    int dwResult;
 
    dwResult = ISHELL_CreateInstance(((AEEApplet*)GETAPPINSTANCE())->m_pIShell, AEECLSID_BTFETypeface,(void**)&pitf);
     int ret = 0;
    if (dwResult == SUCCESS) 
    {  
     ret = ITypeface_NewFontFromClassID(pitf, AEECLSID_ClvBold, 18, &pTempFont);
    }
    if(SUCCESS == ret)
    {
        IHFont_SetUnderlineStyle(pTempFont, HFONT_LINEEFFECT_SINGLE);
    }

    IWidget_SetFont(m_pWidget,(IFont*)pTempFont);

可以给文字加上下划线,可通过这种方法加下划线,等于重新给文字设了一个格式,会改变原来设定的字体大小和格式,改成了红色字体的格式,请问有没有办法还按照原来的格式给文字设置下划线?
------解决方案--------------------
buiw中似乎没有这样的功能哦
------解决方案--------------------
可以通过CustomWidget来实现~