• 【WM】制作Window Mobile 的今日插件之补充


      原本最近没有取得什么显著的技术积累,所以本文原本未打算成文,但是最终我想既然我在开发“世界时钟”这个小插件遇到的几次小问题,使我觉得有必要把这些小细节写出来以作一个显著的备忘。

      起源是我受其他手机的界面启发,想开发一个世界时钟插件。最初我利用 WM_TODAYCUSTOM_QUERYREFRESHCACHE 消息尝试去推动时钟的分针前进,即由于 WM_TODAYCUSTOM_QUERYREFRESHCACHE 消息每两秒接收到一次,则我希望用在第30次收到该消息时,将时钟的分针向前加1。但是我发现这样做不行,因为在手机关闭屏幕(待机)状态下(屏幕被其他程序的界面占据时未作详细验证,因为目前无法下结论),该消息将无法收到,因此时钟停止走动,导致计时不准。然后我以为是 WM_TODAYCUSTOM_QUERYREFRESHCACHE 消息在关屏时停发的原因,而改为有 WM_TIMER (定时器)消息驱动分针,但结果证明依然失效。所以最终还是改为在 WM_TODAYCUSTOM_QUERYREFRESHCACHE 里查询当前的系统时间的 小时,分钟 是否有变化,而去根据这个时间再次根据时区的偏移值计算出当地时间,从而强制更新时间,这样才解决掉了时钟停止走动的问题。即:

      (1)WM_TODAYCUSTOM_QUERYREFRESHCACHE 消息不能当作驱动性脉冲信号,即我们不能将其当作时钟性依赖,而是必须理解为咨询插件是否要更新内容和显示的目的而发的。因此它可能在某些不必要的情况下停止发送。而在插件上,值得注意的是 WM_TIMER 在手机待机时也没有持续发送,这推翻了我之前固有的想法。

        

        (2)TransparentImage 函数可以用于 HDC 或者 HBITMAP 的透明性传送;

  • 相关阅读:
    Servlet系列教材 (九)- 基础
    Servlet系列教材 (八)- 基础
    Servlet系列教材 (七)- 基础
    Servlet系列教材 (六)- 基础
    Servlet系列教材 (五)- 基础
    Servlet系列教材 (四)- 基础
    Servlet系列教材 (三)- 基础
    Servlet系列教材 (二)- 基础
    Servlet系列教材 (一)- 基础
    Tomcat系列教材 (八)- 部署J2EE应用
  • 原文地址:https://www.cnblogs.com/hoodlum1980/p/1696168.html
Copyright © 2020-2023  润新知