|
|
早期许诺的开放插件接口可能还在排计划? 实在排不上就先优化下面的可好?
关于既有的PC官方设计器插件接口:
(1) VolGetControlHWnd / 取组件窗口句柄 : 请重新设计该接口, 自绘组件没有窗口句柄.
即使在设计器中关联创建一个隐藏的HWND组件, 也无法正确响应/收到消息, 比如 MWM_GET_CURRENT_CHILD_TAB_INDEX .说明内部极度依赖HWND的鼠标事件?
通过Debug输出信息 对比MFC接口插件, 返回一个(不论是否关联自绘组件)的HWND句柄, 在该句柄的窗口消息循环中仅首次弹出设计器窗口会触发几次消息, 之后移动/点击鼠标都不会触发该消息, 而MFC库的消息是正常触发的.
建议改为函数接口,让用户来实现对应功能.
(2) vol_public.h中的消息宏: 如果在官方设计器中 凡有通过SendMessage方式使用的消息, 如MWM_GET_WND_GROUP_NUMBER MWM_SET_WND_GROUP_NUMBER 等, 均应改为函数接口形式.
目前测试只有 MWM_IS_ON_CHILD_TAB_SWITCHER 是正常触发的
(3) 缺乏被动接口: 应开放一个由 用户创建的设计组件 向 官方设计器控制点对象反馈组件改变(位置/大小/层次/可视 等)的接口, 用于实现自动布局,如铺满,固定位置等等
(4) @设计时隐藏 真 : 该属性在设计器中对只有"属性读" 没有"属性写"的方法不起作用, 该问题已反馈过至今未改.
------------------------------------------------------------------------------
Ex_DirectUI 界面库停更期间, 陆续有人反馈期望继续维护, 奈何吴总对应设计器插件接口有些敷衍, 至今没有动静, 后期新增的插件接口也没有考虑自绘组件, 草草敷衍了事.
我认为在设计器内部 命中检测控制点对象后, 调用(新增)公开接口让用户来执行代码来实现功能, 比如说选择夹的夹头响应, 该接口参数传递当前组件对象指针, 鼠标点击坐标[可选]
而创建设计组件时,可以调用(新增)公开接口让用户来决定返回分组ID, 该接口参数传递当前组件对象指针,父组件对象指针.
希望可以彻底解决以上问题, 接下来就看吴总的决策了
|
|