问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何做一个iphone方式的平滑滚动。

发布网友 发布时间:2022-04-24 19:07

我来回答

1个回答

热心网友 时间:2022-04-24 20:36

用过IPhone的人应该都记得,IPhone界面切换时有个很有意思的效果:当前窗口从左边移出,显示窗口从右边进入。这个比WinCE原生的一闪然后方框出现的形态更富有想象力。

那么,我们能不能在WinCE上模拟出IPhone的这种效果呢?答案当然可以--否则也不会有此篇文章了。:)

效果的原理不是很复杂,但涉及到一些基础的知识,如果你是WinCE新手,可能理解起来有点吃力。不过没关系,让我们一点点来吧!

在WinCE里面,任何我们需要绘制的图像,最终还是要归结于HDC。HDC是WinCE的设备句柄,我们简单点认为,它就是一个显示的区域,你往里面写了什么,那么它在屏幕上就会显示相应的内容。它的获取,很简单,大体上有两种方式,一种是通过GetDC或GetWindowDC函数,另一种则是通过BeginPaint获取。前者在大部分情况下都可以使用,除了WM_PAINT消息的响应函数,而这恰好是BeginPaint的发挥效力的地方。

当然HDC所涉及的方面还远远不止上文所提到的那几句话,但对于理解本篇的内容,已经足矣。

做过多张图片同时绘制的朋友应该对于"缓存HDC"这一概念不陌生。如果我们直接将所有的图片以此绘制到源HDC中,那么展现在我们面前的将是一张一张图片的逐次显示,造成一种闪烁的假象。这问题出现在程序界面中,是个很糟糕的用户体验。所以我们一般是将所有的图片一次性绘制到一个"缓存HDC"中,然后再一次性地将绘制好的内容输入到源HDC,就避免了闪烁的毛病。

那"缓存HDC"和我们今天讨论的主题有什么关系呢?其实关系大着呢!甚至可以说,成败的关键就在于这缓存。

假定我们当前的窗口HDC和切换的窗口的HDC组成两个屏幕大的缓存HDC,然后我们依次从左到右的范围依次绘制,那么映入我们眼帘的不就是平缓的滚动效果了么?

用文字描述可能有点不太清楚,我们以图片来看看:

两个不同的图片代表的是不同的窗口,红色的方框指代的是我们的屏幕。当我们从左到右进行绘制时,如果绘制的帧数足够多,在红色框框中看到的,就是平滑的滚动。
如果你还想更进一步,你还可以通过响应WM_MOUSEMOVE消息,根据其提供的坐标原点,再将上述代码的起始绘制原点更改一下,那么实现IPhone的拖动效果对于你来说也再也不是难事。:)

如果你还想更进一步,你还可以通过响应WM_MOUSEMOVE消息,根据其提供的坐标原点,再将上述代码的起始绘制原点更改一下,那么实现IPhone的拖动效果对于你来说也再也不是难事。:)

如果你还想更进一步,你还可以通过响应WM_MOUSEMOVE消息,根据其提供的坐标原点,再将上述代码的起始绘制原点更改一下,那么实现IPhone的拖动效果对于你来说也再也不是难事。:)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 谁知道有什么寓意好的的字吗做店名用 我们家要开店家族名字是许求店名 七星瓢虫泛滥成灾该如何防治 谁有马桶水箱的结构图啊,最好是三视图带尺寸的,急求,CAD,PROE,CATIA的都行. 求马桶的CAD三视图。 请问荣春和春荣那个好,用做店名那个名字会更好一些,请大家帮忙参考一下 这个马桶专利怎么样? 取名字典男装我想起个响亮,不容易望的男装店名 酒糟鼻治疗 酒糟鼻用什么样的护肤品? HEllo,I`m your friend,是什么意思 Hi ,I’m Qiqi,—Hello,I’m Eve.翻译? hello,i,mxiaowei是什么意思 hello,i'm wu yifan 65w充电器用120安 hello.I‘m Wu Yi fan怎么翻译 Hello!I'M Zoom中文是什么意思? 乙女游戏all党是什么意思 苹果不换线换65w的充电头会冲的快吗? 乙女向游戏怎么制作? 是3999直接拿下小米11ultra还是买vivoX80系列手机? 10块钱左右的小水龟是什么种类啊 污水处理器的ph值怎么测试 hp有自己的cpu吗 处理器为i7.7700ph的电脑有哪些,价位大概是多少,目前高端电脑有哪些,价位是多少, 华硕显卡的ph是啥意思 N卡控制面板把PhsyX处理器由自动选择改为CPU后改不回来了 在线等!!!! phsyx是什么 周公解梦,一直走,怎么都找不到要去的地方 次氯酸钠污水处理器每天需监测余氯和PH值吗? 比较好的处理器有哪些?? RO进水PH达8.5正常吗,会出现什么问题? 怎么用CAD打字并打印出来 phoem是什么意思 操作系统:Windows Vista/7/8/10 64位(最新SP)   处理器:Intel Core i5或AMD Ph 想升级电脑硬件给点建议 计算机设备 处理器: AMD Sempron 3400+ BIOS: Ph 我用了凯弗隆反渗透处理器处理去来的水还有25PH 能喝吗??? 花市上的手工小鸟怎么做? 在《孙子兵法》中,为“上兵”的手段是 孙子兵法中上兵的手段是什么