• 模仿Smartphone的开始菜单效果


    最近业余时间想做一个WM系统九宫格那样的效果出来,在网上找到一篇博文,链接:http://www.cnblogs.com/JustDI/archive/2008/07/15/1243150.html
    看完文章后受了启发,决心自己也搞一个。JustDI 提供的思路是做一个控件,根据位置画图,因为我对GDI+没接触过,也没有编过控件,很多原理不清楚,所以想换其他的方式实现类似的效果。想了一下想到了一个最原始的方式,开始动手了。

    开发平台: VS2008 + Windows Mobile 6 Standard SDK

         项目: smartphone application .net2.0

    设计思路: 现在SP手机基本都是QVGA(320*240)的分辨率,九宫格菜单最多显示9个菜单项,而上下左右移动方向键就两种效果,一个是两个菜单项互换,一个是上下翻页。所以我就在控件中放入9个固定位置的PictureBox和Label控件,只需要在后台实现上面两种效果就可以了。(省去了自己绘图的工作,水平有待提高啊~~)

    类名

    描述

    GridMenuItem

    单个菜单项

    GridMenuControl

    菜单容器控件

     

    一个菜单项有这样一些属性:默认图标,选中图标,文字,按键点击该菜单项还会调用某个方法。

    GridMenuItem

         

    菜单容器控件有一个属性存放所有菜单项。然后两个方法,ReDrawSelectedItem()用于实现两个菜单项互换效果ReDrawAll()用于实现上下翻页效果

    部分代码:

    Code

    下面是测试的效果截图

     

    这个是我觉得比较简单的实现模仿九宫格菜单的一种方式,但是目前有几个缺陷,不能自适应分辨率,不能放到控件工具箱。

    还是希望以后有空做一个自己控制绘图的宫格菜单出来,至少还要支持12宫格和PPC系统的。

    GridMenuControl源代码

     

    本人水平有限,欢迎交流经验和结交有相同爱好的码友。

  • 相关阅读:
    golang 简单的实现内 网 穿 透,用户访问本地服务。
    golang 创建一个简单的广播echo服务器
    golang 使用 protobuf 的教程
    golang语言中os包的学习与使用(文件,目录,进程的操作)
    【原】画流程图工具visio使用技巧汇总
    【改】IOS-百度地图API用点生成线路、导航、自定义标注 2013年11月更新
    【原】xcode5&IOS7及以下版本免证书真机调试记录
    【转】C++的拷贝构造函数深度解读,值得一看
    【转】c++中引用的全方位解读
    【转】self.myOutlet=nil、viewDidUnload、dealloc的本质剖析
  • 原文地址:https://www.cnblogs.com/hustsay23/p/1324119.html
Copyright © 2020-2023  润新知