炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3747|回复: 4

获取不到shapeGif的句柄

[复制链接]
  • TA的每日心情
    开心
    2022-9-30 10:30
  • 发表于 2017-4-24 18:42:08 | 显示全部楼层 |阅读模式
    1炫彩币
    本帖最后由 有妖气 于 2017-4-24 18:43 编辑
    1. <?xml version="1.0" encoding="gb2312" ?>
    2. <!--炫彩界面库-树元素项模板文件-->
    3. <xc_template_tree>
    4.     <layoutObject layout.alignH="left" layout.alignV="center" layout.height="34" layout.horizon="true" layout.padding="0,0,0,0" layout.space="0" layout.width="fill">
    5.         <layoutObject layout.alignH="left" layout.alignV="top" layout.height="11" layout.horizon="true" layout.width="16">
    6.             <shapeGif height="11" itemID="1" layout.height="fill" layout.width="fill" left="86" top="48" width="16" image="{binding field=name2 source=data bSync=false}"/>
    7.         </layoutObject>
    8.         <layoutObject layout.alignH="left" layout.alignV="top" layout.height="fill" layout.horizon="true" layout.padding="0,0,0,0" layout.width="auto">
    9.             <shapeText content="{binding field=name source=data bSync=false}" itemID="2" layout.height="fill" layout.width="auto" />
    10.         </layoutObject>
    11.     </layoutObject>
    12. </xc_template_tree>
    复制代码
    然后C++的程序里是这样写的

                    HXCGUI GIF = XTree_GetTemplateObject(hTree_lesson, pItem->nID, 1);
                    if (XC_IsHXCGUI(GIF, XC_SHAPE_GIF))
                    {
                            MessageBoxA(NULL, "", "", MB_OK);
                            HIMAGE hIMAGE = XImage_LoadFile(L"./IMAGE/LessonW/playing.gif");
                            XShapeGif_SetImage(GIF, hIMAGE);
                    }


    读不到啊。。。每次读取出来的句柄都是NULL。。。。。

    读取其他的都是正常的。。。

    该用户从未签到

    发表于 2017-4-24 18:42:09 | 显示全部楼层
    1. #include "Common.h"

    2. class CMyWindowTree
    3. {
    4. public:
    5.     HWINDOW m_hWindow;
    6.     HELE    m_hTree;
    7.     CMyWindowTree()
    8.     {
    9.         Init();
    10.     }
    11.     void Init()
    12.     {
    13.         m_hWindow = XWnd_Create(400, 200, 350, 400, L"炫彩界面库窗口",NULL, xc_window_style_default);
    14.         XBtn_SetType(XBtn_Create(5, 3, 60, 20, L"Close", m_hWindow),button_type_close);
    15.         
    16.         m_hTree= XTree_Create(20,40,300,300,m_hWindow);
    17.         XTree_SetItemTemplateXML(m_hTree,L"Tree_Item.xml");
    18.                
    19.         HXCGUI hAdapter=XAdTree_Create();
    20.         XTree_BindAdapter(m_hTree,hAdapter);
    21.         XAdTree_AddColumn(hAdapter,L"name");
    22.         
    23.         wchar_t  buf[256]={0};
    24.         int id=0;
    25.         for (int i=0;i<20;i++)
    26.         {
    27.             wsprintfW(buf,L"name-%d-0",i);
    28.             id=XAdTree_InsertItemText(hAdapter,buf,XC_ID_ROOT,XC_ID_LAST);
    29.         }
    30.         
    31.         int idc1=XAdTree_InsertItemText(hAdapter,L"Item1------1",1,XC_ID_LAST);
    32.         int idc2=XAdTree_InsertItemText(hAdapter,L"Item1------2",1,XC_ID_LAST);
    33.         int idc2_1=XAdTree_InsertItemText(hAdapter,L"Item1-----2--1",idc2,XC_ID_LAST);
    34.         
    35.         XEle_RegEventCPP(m_hTree,XE_TREE_SELECT,&CMyWindowTree::OnTreeSelect);
    36.         XEle_RegEventCPP(m_hTree,XE_TREE_EXPAND,&CMyWindowTree::OnTreeExpand);
    37.                
    38.         XEle_RegEventCPP(m_hTree,XE_TREE_TEMP_CREATE,&CMyWindowTree::OnTemplateCreate);
    39.                 XEle_RegEventCPP(m_hTree,XE_TREE_TEMP_CREATE_END,&CMyWindowTree::OnTreeTemplateCreateEnd);
    40.         XEle_RegEventCPP(m_hTree,XE_TREE_TEMP_DESTROY,&CMyWindowTree::OnTemplateDestroy);
    41.         XEle_RegEventCPP(m_hTree,XE_TREE_TEMP_ADJUST_COORDINATE,&CMyWindowTree::OnTemplateAdjustCoordinate);
    42.                
    43.         XWnd_ShowWindow(m_hWindow,SW_SHOW);
    44.     }
    45.         int OnTreeTemplateCreateEnd(tree_item_i* pItem,BOOL *pbHandled)
    46.         {
    47.        
    48.                 HXCGUI hShapePic = XTree_GetTemplateObject(m_hTree,pItem->nID,1);
    49.                 return 0;
    50.         }
    51.     int OnTreeSelect(int nItemID,BOOL *pbHandled)
    52.     {
    53.         *pbHandled=TRUE;
    54.         return 0;
    55.     }
    56.     int OnTreeExpand(int id,BOOL bExpand,BOOL *pbHandled)
    57.     {
    58.         *pbHandled=TRUE;
    59.         return 0;
    60.     }
    61.     int  OnTemplateCreate(tree_item_i *pItem,BOOL *pbHandled)
    62.     {
    63.         *pbHandled=TRUE;
    64.         return 0;
    65.     }
    66.     int  OnTemplateDestroy(tree_item_i *pItem,BOOL *pbHandled)
    67.     {
    68.         *pbHandled=TRUE;
    69.         return 0;
    70.     }
    71.     int  OnTemplateAdjustCoordinate(tree_item_i *pItem,BOOL *pbHandled)
    72.     {
    73.         *pbHandled=TRUE;
    74.         return 0;
    75.     }
    76. };

    77. int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
    78. {
    79.     XInitXCGUI();
    80.     CMyWindowTree  MyWindow;
    81.     XRunXCGUI();
    82.     XExitXCGUI();
    83.     return TRUE;
    84. }
    复制代码

    1. <?xml version="1.0" encoding="gb2312" ?>
    2. <!--炫彩界面库-树元素项模板文件-->
    3. <xc_template_tree>
    4.     <layoutObject layout.alignH="left" layout.alignV="center" layout.height="fill" layout.horizon="true" layout.padding="2,2,2,2" layout.space="2" layout.width="auto" showT="true" expandT="true">
    5.         <shapePicture height="20" itemID="1" left="81" top="31" width="30" showT="true" expandT="true" />
    6.         <shapeText content="{binding field=name source=data bSync=false}" itemID="2" layout.height="fill" layout.width="auto" showT="true" expandT="true" />
    7.     </layoutObject>
    8. </xc_template_tree>
    复制代码




    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-9-30 10:30
  •  楼主| 发表于 2017-4-24 18:43:30 | 显示全部楼层
    读取其他的都是正常的。。。
    回复

    使用道具 举报

    该用户从未签到

    发表于 2017-4-24 18:46:26 | 显示全部楼层
    只有在模板创建完成事件中才有效
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-9-30 10:30
  •  楼主| 发表于 2017-4-24 18:47:58 | 显示全部楼层
    dasemimi 发表于 2017-4-24 18:46
    只有在模板创建完成事件中才有效

    我是这么干的呀
    int  OnLessonTemplateCreateEnd(tree_item_i *pItem, BOOL *pbHandled)
    {



            if (XC_ID_ERROR != XTree_GetFirstChildItem(hTree_lesson, pItem->nID))
            {
                    HXCGUI text = XTree_GetTemplateObject(hTree_lesson, pItem->nID, 2);
                    if (XC_GetObjectType(text) == XC_SHAPE_TEXT)
                    {
                            XShapeText_SetFont(text, XFont_Create2(L"微软雅黑", 12, xc_fontStyle_regular));
                    }
            }
            else
            {
                    HXCGUI GIF = XTree_GetTemplateObject(hTree_lesson, pItem->nID, 1);
                    if (XC_IsHXCGUI(GIF, XC_SHAPE_GIF))
                    {
                            MessageBoxA(NULL, "", "", MB_OK);
                            HIMAGE hIMAGE = XImage_LoadFile(L"./IMAGE/LessonW/playing.gif");
                            XShapeGif_SetImage(GIF, hIMAGE);
                    }

                    HXCGUI hXCGUItext = XTree_GetTemplateObject(hTree_lesson, pItem->nID, 2);
                    if (XC_IsHXCGUI(hXCGUItext, XC_SHAPE_TEXT))
                    {
                            XShapeText_SetFont(hXCGUItext, XFont_Create2(L"微软雅黑", 10.5, xc_fontStyle_regular));
                    }


                   

            }

            *pbHandled = TRUE;
            return 0;
    }
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-5-5 01:40 , Processed in 0.082243 second(s), 17 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表