
DirectUI
文章平均质量分 77
Nirvana__
一个纯粹没脱离低级趣味的人
展开
-
RichEdit读取rtf格式
接到需求,需要在播放器播放失败时显示播放失败的错误原因,引导用户自己解决,减轻客服压力,在看到产品设计挺长的原因说明后,考虑维护简单,避免使用xml配置中直接写死的方式来解决,经过权衡后通过RichEdit读取rtf文件的方式来保留格式,并且易于后期维护原创 2017-01-23 16:02:05 · 3582 阅读 · 0 评论 -
Chrome线程模型中的Modal窗口返回值问题
项目中使用了Duilib和Chrome中抽离的base线程模型来进行开发,在使用我们简单封闭的时,发现偶尔会出现DoDodal的返回值并非用户的点击项,跟踪后发现,base自己的消息循环(MessageLoop)处理时会有概率处理掉原生的消息队列消息WM_CLOSE,造成返回值是默认值,而非用户点击时传递进wParam. 这个发生的情况是,WM_CLOSE消息恰好被base的Mes原创 2017-04-05 17:27:56 · 935 阅读 · 1 评论 -
Duilib中带有权重的灵活控件排列实现(一)
在开发播放器软件过程中,因为窗口的大小是可变的,为了让控制栏部分的控件(播放,上一集,下一集,全屏,字幕等)适应窗口的尺寸的变化而显示隐藏,产品经理会定义一系列的规则,好让在任何时候都最核心的功能提供给用户使先列一下产品经理给予的需求:两边往中间缩,保证左侧LOGO和右侧X最优先显示。顶部隐藏优先级:搜索栏,换肤,意见反馈,播放记录,最小化,最大化底部隐藏优先级:全屏,画质原创 2017-02-08 17:49:15 · 2460 阅读 · 0 评论 -
使窗口具备拖动到边界自动最大化/还原的特性
从win7开始,windows的特性中具备了拖动窗口到屏幕边界时最大化,还原,或者占据半个工作区的功能,如果希望自己的窗口具体这种特性,那么需要在窗口属性中添加 WS_BORDERG与WS_THICKFRAME,但是对于DirectUI绘制的一些窗口时,在窗口创建时就添加WS_THICKFRAME会造成窗口的边框由系统绘制,不符合设计效果解决方法是原创 2017-08-23 17:43:22 · 1398 阅读 · 0 评论