找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 209|回复: 0

[公告] 炫彩界面库-UI组件扩展开发说明

[复制链接]

84

主题

495

回帖

2286

积分

管理员

积分
2286
发表于 4 天前 | 显示全部楼层 |阅读模式
炫彩界面库-UI组件扩展开说明


基于炫彩界面库开发扩展UI组件, 弥补现有组件的不足,
例如: 浏览器组件, 视频播放组件, 表格组件, 简化列表组件 等等;

UI组件扩展开发:
        方式1: 使用DLL封装炫彩UI扩展组件
        方式2: 使用源码封装炫彩组件, 有源码自然可以提供DLL
        界面库会提供一些扩展组件开发接口;

UI设计器对接:
        通过配置文件, 配置扩展UI组件的属性, 提供给设计器使用, 用户可以通过设计器修改这些属性;
        方式1: 提供UI组件DLL, UI设计器加载DLL, 在UI设计器中可以预览真实效果, 可设置属性;
        方式2: 没有UI组件DLL, 可能是采用源码方式扩展的, 在UI设计器中, 使用一个占位组件, 可设置属性,但是没办法预览真实效果;

具体流程:
        例如简化列表框组件
        1. 使用VS新建C++项目, 包含炫彩界面库库
        2. 列表框组件需要滚动功能, 那么就从滚动视图组件扩展
        3. 为了能识别扩展的组件, 通过界面库提供的接口, 设置组件类型, 样式, 和自定义数据
        4. 开发组件功能, 然后编译DLL(可选)
        5. 开发完功能后需要对接UI设计器, 写一个组件的配置文件, 并且把DLL放到指定目录, 提供给UI设计器读取;
        
        6. 设计器启动时, 自动读取配置文件, 若是提供了DLL, 那么用户拖放组件时, 会创建真实组件, 若是没有, 会创建一个占位组件;
        7. 用户可对属性进行设置, 即时查看效果, 并且可以点击预览按钮, 预览效果, 与内置组件使用无异;
        8. 发布程序时, 需要包含扩展的组件DLL或源码即可


  1. //自定义列表框, 从滚动视图扩展
  2. #define  XC_MY_LISTBOX   201  定义扩展组件类型
  3. class CMyListBox
  4. {
  5. public:
  6.         HELE m_hEle;  
  7.         
  8.         HELE Create(...)
  9.         {
  10.                 m_hEle = XSView_Create(...); //基于滚动视图扩展, 因为需要滚动功能
  11.                 _XC_SetType(pEle->m_hEle, XC_MY_LISTBOX);   //设置组件的最终类型
  12.                 _XC_AddType(pEle->m_hEle, XC_MY_LISTBOX);   //添加到类型链
  13.                 _XC_BindData(pEle->m_hEle, (vint)this);     //绑定数据
  14.                
  15.                 //实现列表框功能...
  16.         }
  17. };
复制代码

  1. // 以下接口供第三方扩展使用
  2. XC_API void WINAPI _XC_SetType(HXCGUI hXCGUI,XC_OBJECT_TYPE nType); //设置元素最终类型
  3. XC_API void WINAPI _XC_AddType(HXCGUI hXCGUI,XC_OBJECT_TYPE nType);  //增加类型

  4. XC_API void WINAPI _XC_DebugPrintf(int  level, const char *pFormat, ...);
  5. XC_API void WINAPI _XC_DebugPrintfW(int  level, const wchar_t *pFormat, ...);

  6. XC_API void WINAPI _XC_BindData(HXCGUI hXCGUI, vint data);
  7. XC_API vint WINAPI _XC_GetBindData(HXCGUI hXCGUI);
复制代码

例如当前UI库中 日期时间 和 月历卡片 即是通过扩展接口开发;
与UI设计器对接功能暂时还没开发, 如果需要请联系作者;


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )

GMT+8, 2026-1-8 06:21 , Processed in 0.085265 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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