|说说Shell动画控件的限制
在桌面外壳(Shell)通用控件库中 , 有一个大家不怎么用到的动画控件(Animation Control) 。 但是 , 动画控件只能支持很少一部分的AVI文件 , 也即:在动画控件中能使用的AVI文件必须符合下列要求:
> AVI文件必须是非交叉的(Non-Interleaved) 。
> AVI文件只能包含一个视频流 。
> AVI文件最好不要带上音频流 。
> AVI文件最好不要使用调色板修改 。
> AVI文件只能是未经压缩的 , 或者是使用BI_RLE8算法压缩的 。
为什么会有如此多的限制?
因为我们设置动画控件的目的 , 主要是用来显示一些简单的动画 。 如果你手上有一个比较复杂的动画文件 , 则你应该考虑使用更加高级的动画控件 , 例如MCIWnd窗口类 。
我们认为 , 将所有AVI高级播放功能添加到外壳动画控件中不会有任何好处 , 结果将只是 MCIWnd的一个毫无意义的克隆 。
当我们设计复杂组件的简单版本的时候 , 请牢记一点:你必须抵制将原始组件的所有功能都添加到这个简单组件的诱惑 。如果你屈服了 , 那么你最终会得到一个组件 , 它可以完成原始组件所做的一切 , 即使你本来的目标是实现一个更简单的版本 。
那你为什么写它? 你花了几个月的时间写一些已经存在的东西 。
总结有时候 , 为了给用户带来更多 , 我们需要舍弃一些东西 。
少 , 即是多 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《Limitations of the shell animation control》
【|说说Shell动画控件的限制】
- 单反|简短说说,如何让你的iPhone能够超过6年寿命
- 苹果|客观说说,iPhone存在的缺点
- ios15.5|iOS15.5正式版体验感如何?重度使用2天后,老用户说说心里话
- 一加科技|一加ACE和红米K50怎么选?抛开感情因素说说心里话,差距的确不小
- iphone13|初次从华为换到苹果是啥感受?上手iPhone13一个月后,说说心里话
- 空调|空调扇是不是智商税?用过一个夏天以后,我来给大家说说,别踩坑
- vivo|vivo S15e深度使用三天以后,现在不吹不黑地,说说该机优缺点
- oppo k10|刚买的OPPO K10到了,打了几把游戏,说说感受。
- vivo|手机拍照真旗舰,简单说说vivoX80系列优势
- javascript|Web前端:2022年最佳Javascript动画库