「玩一玩」手把手教学帖:跟我一起学控件,仿制最新版DevExpress里的小控件(持续更新)

Conmajia 2013-06-21 08:26:22
加精
all by conmajia.

看到caozhy的《手把手教编程,不知道有没有人愿意参与》帖子,希望通过手把手教学,一方面提高教学效率,另一方面也排除掉了伸手党。出发点是不错的。
在论坛逛了差不多一年,觉得就论坛来说,还是新手居多。
我不靠编程吃饭,所以对掌握新知识没什么动力,会的东西看起来比较老旧。
尽管如此,还是希望能以我老旧的知识,给有需要的新手一点提示和参考。

有兴趣参与的,可以和我一起动手制作。
---------------------------
note: 这个帖子持续更新,不会一下子写完。
这个东西是很早前做着玩的。源代码我好像删掉了,只剩下博客里的截图。
因为我有点忘了,所以我也只有一边重新思考编程,一边写帖子。
不过有个好处就是时间比较长,我会详细把从0开始的整个分析、设计、实现的思路和全过程写出来。
另一个好处就是你也可以跟着我一步一步动手实战,可以自己思考整个过程,而不是一次下载完源代码然后像狗一样趴在屏幕上看。
当完成全部内容后,我再放上源代码。

--------------------------
下文涉及的内容,限于.NET 2.0,如果你常用的是WPF,我只能说仅供参考。
如果你问为什么不用WPF,我只能回答俩字儿:不会
---------------------------

扯了这么多,先来说说我打算做什么。
DevExpress是Developer Express的缩写,DevExpress是一家全球知名的控件开发公司。
DevExpress的控件有很强的实力,不仅功能丰富,应用简便,而且界面华丽,更可方便定制。
它就是“专业”的代名词。(至少会让你“看起来”很专业)

虽然它很牛逼,但我是买不起的。(不是搞软件的,买来没法产生效益)
在某次上网的时候,我发现DevExpress推出了最新版12.2(刚查了下,现在是13.1,但外观无变化)
它的网页上提供了一张截图:

看起来很酷很METRO对吧?萝卜青菜,各有所爱。我还是比较喜欢这种风格。
然后我就对这个部分比较感兴趣

两个表头。(仪表的表)
虽然这个据说是WPF做的,但很明显,我在WinForm里祭出GDI+也是可以实现,于是我就开始了仿制。
先把最终效果放出来

这是静态的,100%还原度,下面是动态操作演示。因为动画压缩了,所以有点不清晰。凑合着看吧

还是那句话,100%还原度。

--------
介绍先到这里,下面我会在回帖里从新建VisualStudio工程开始,讲解怎样通过一张截图,来分析、设计和实现(山寨)别人的产品(学习借鉴)。

note:回帖时间不固定
...全文
14862 211 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
211 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfc10001003 2016-01-08
  • 打赏
  • 举报
回复
写的不错~

虚拟仪表控件 www.beaugauge.net
ajianchina 2015-06-19
  • 打赏
  • 举报
回复
引用 183 楼 conmajia 的回复:
编程没意思,最近热衷纸艺,此贴暂停更新。
引用 209 楼 conmajia 的回复:
[quote=引用 208 楼 ruifeng244 的回复:] 看了所有的回帖,结果就看见LZ的UI界面的解析。。还有某楼层的直接上的代码。 其中的具体内容解析和写代码的思路完全没有。 这样的帖子为何精华的。。。 不过作为普通的帖子看看还是不错的。 各种回帖里关于wpf和winform的讨论也让我这种新手了解了一些。
没兴趣继续写了,写多了对有心人是多余的,对码农依然不够。[/quote] 做人不能这样虎头蛇尾的,你这帖子可以作为不同层次、不同侧重的人一个了解与学习的桥梁,应该是很好的。你的纸艺不知道修炼的如何,前面的图我看你也整了不少时间,最后总不能告诉大家是怎么用纸怎么剪出来吧?如果是有些人的回复让你有些灰心,直接无视,七嘴八舌的人都是半瓶水,如果没有时间那也就算了,时间许可的话,我很支持楼主另开一帖,从头至尾的把这一贴讲完。
Conmajia 2015-06-18
  • 打赏
  • 举报
回复
引用 208 楼 ruifeng244 的回复:
看了所有的回帖,结果就看见LZ的UI界面的解析。。还有某楼层的直接上的代码。 其中的具体内容解析和写代码的思路完全没有。 这样的帖子为何精华的。。。 不过作为普通的帖子看看还是不错的。 各种回帖里关于wpf和winform的讨论也让我这种新手了解了一些。
没兴趣继续写了,写多了对有心人是多余的,对码农依然不够。
ruifeng244 2015-06-13
  • 打赏
  • 举报
回复
看了所有的回帖,结果就看见LZ的UI界面的解析。。还有某楼层的直接上的代码。 其中的具体内容解析和写代码的思路完全没有。 这样的帖子为何精华的。。。 不过作为普通的帖子看看还是不错的。 各种回帖里关于wpf和winform的讨论也让我这种新手了解了一些。
ed214679 2015-03-23
  • 打赏
  • 举报
回复
支持,頂一頂
o_range 2015-03-03
  • 打赏
  • 举报
回复
LZ好人,顶一个~
fudashouyao 2015-03-03
  • 打赏
  • 举报
回复
看了下,虽然只是两个指针,但是感觉好复杂
江南小鱼 2015-01-19
  • 打赏
  • 举报
回复
撸主的分享精神
松林迷途 2015-01-18
  • 打赏
  • 举报
回复
还是很不错的,楼主学习精神可嘉啊!我是来学习的。
yzf86211861 2014-05-21
  • 打赏
  • 举报
回复
虽然看不懂 但是觉得很厉害哦
Conmajia 2014-04-02
  • 打赏
  • 举报
回复
引用 198 楼 wawd74520 的回复:
原来是去年的帖子
刻苦挖坟。。哈哈哈哈。。weak breath。。
  • 打赏
  • 举报
回复
很叼哦。!!!
失落的神庙 2014-03-26
  • 打赏
  • 举报
回复
原来是去年的帖子
失落的神庙 2014-03-26
  • 打赏
  • 举报
回复
引用 3 楼 Pc498471249 的回复:
楼主 我觉得你该学习下WPF了。 WPF才是你发挥的舞台。 根本不用依靠什么第三方的dev控件。 不用自己痛苦的用GDI+绘制控件。 玩转样式,玩转模板, 玩转数据绑定, 玩转WPF ,winform滚一边去去吧。




winform也没你说的那么烂。 这是根据野比 ,智商余额不足等大牛 之前发的帖子 自己改编而成
失落的神庙 2014-03-26
  • 打赏
  • 举报
回复
引用 3 楼 Pc498471249 的回复:
楼主 我觉得你该学习下WPF了。 WPF才是你发挥的舞台。 根本不用依靠什么第三方的dev控件。 不用自己痛苦的用GDI+绘制控件。 玩转样式,玩转模板, 玩转数据绑定, 玩转WPF ,winform滚一边去去吧。
等windows 用wpf 不用winform 再说吧
xingeddx 2014-03-25
  • 打赏
  • 举报
回复
楼主下面那个是好几个图形分层的吗?最下面的那个灰色的是底色吗?
yzwindos 2014-03-24
  • 打赏
  • 举报
回复
看帖 回帖支持分享。。。。
MikeCheers 2014-03-23
  • 打赏
  • 举报
回复
楼主分析的有点过于细了 而且没有点明算法要点 都在纠结UI的东西 初学的玩艺根本搞不懂你在讲嘛 一个一个都赞同 都不知道在赞同什么 几个图片如何的罗列? 能用GDI+做出时钟的人 都能做出这个图表 没什么技术含量 更SB的争论WPF与WinForm 本是同根生 争你妹啊 WPF, WinForm, Flash, OpenGL, DX都能做 谁好? 草 不是看名字 是看本事 整天整点没用的 有时间多修修Bug吧 太TM烦躁了 只能说 CSDN越来越水了
ktei2008 2014-03-07
  • 打赏
  • 举报
回复
我觉得楼主的分析挺不错的,比给几行代码重要多了。
linuxca 2014-03-07
  • 打赏
  • 举报
回复
加载更多回复(166)
一套Developer Express控件包 For Delphi7Developer Express控件简介Express Scheduler Suite可以建立类似于Outlook中日历那样的空间,计划任务。ExpressQuantumGrid Suite一个超级牛的Grid控件,不要告诉我不知道什么是Grid,其中Filter功能也是非常厉害的。ExpressBars Suite非常厉害非常厉害的工具条菜单控件。ExpressPrinting System 打印控件,可以和ExpressQuantumGrid 完美连接,还没发现有没有报表功能,要不就是没有报表功能,完美的ExpressQuantumGrid控件就可以代替了。ExpressQuantumTreeList Suite 非常牛的树状控件,跟ExpressQuantumGrid 结合起来很厉害的。ExpressNavBar 是用来做类似于XP下的浏览器左边的导航条的,非常地帅。ExpressLayout Control 好像是界面布局的控件。ExpressDBTree Suite非常好用的数据库树形列表控件。ExpressMasterView专门用作总单细单甚至多层的关系的GRID显示,它的效率比ExpressQuantumGrid Suite还要高,不过功能不是很强。ExpressDBTree Suite 结合数据库表进行像WINDOWS中浏览器中树结构显示的控件。ExpressOrgChart 结合数据库表进行组织结构显示的控件。ExpressVerticalGrid Suite 表结构以垂直方式(卡片样式)的GRID显示,一般来说,GRID适合用来显示,而VerticalGrid适合用来编辑数据。下面的控件还不知道有什么用,请有知道的介绍一下。ExpressFlowChartExpressSpreadSheet (includes Kylix support) 下面我们开始安装1、 首先关闭delphi7,如果您正在运行着它的话。 2、 安装ExpressLayout Control 1.1.11 for d7 ok3、 安装ExpressBars Suite 5.1.3 ok4、 安装ExpressDBTree Suite Version 1.3.1 ok5、 安装ExpressOrgChart 1.3.2 ok6、 安装ExpressFlowChart.v1.3.2 ok7、 安装DevExpress ExpressMasterView 1.2.1 ok8、 安装ExpressSpreadSheet (includes Kylix support) 1.1.12 ok9、 安装ExpressNavBar v1.3.1 ok10、安装ExpressPrinting System 3.1 ok11、安装ExpressQuantumGrid Suite 5.0 ok12、安装Express Scheduler Suite 1.0 13、安装ExpressQuantumTreeList Suite v4.0.2 14、安装ExpressVerticalGrid Suite 3.0.2 注:经过我反复试验发现Express Scheduler Suite 1.0 ExpressQuantumTreeList Suite v4.0.2 ExpressVerticalGrid Suite 3.0.2 与ExpressQuantumGrid Suite 5.0有冲突只要其中有任何两种控件安装,就不能装入扩展控件包ExpressExtendedEditors Library 5,Grid会少很多控件。15、运行Delphi_7,出现第一个提示框后, 按否在Delphi 7中通过Tools->Environment Options->Library->Library path菜单路径打开Diredtories窗口。 将含有以下路径: ......Developer Express IncExpressDataControllerDelphi 7Lib ......Developer Express IncXP Theme ManagerDelphi 7Lib ......Developer Express IncCX LibraryDelphi 7Lib ......Developer Express IncExpressEditors Library 5Delphi 7Lib ......Developer Express IncExpressPageControl 2Delphi 7Lib ......Developer Express IncExpressQuantumGrid 5Delphi 7Lib 删除,重新添加为,或保留一份修改为: ......Developer Express IncExpressDataControllerDelphi 7Sources ......Developer Express IncXP Theme ManagerDelphi 7Sources ......Developer Express IncCX LibraryDelphi 7Sources ......Developer Express IncExpressEditors Library 5Delphi 7Sources ......Developer Express IncExpressPageControl 2Delphi 7Sources ......Developer Express IncExpressQuantumGrid 5Delphi 7Sources 18、到Grid 5.0目录下的完美补丁目录19、将以下2个文件:cxExtEditorsVCLD7.bpl dclcxExtEditorsVCLD7.bpl 解压到操作系统的System目录(注:W2K/WinXP中应为system32目录)中覆盖原文件。 20、将压缩包中ExpressEditors Library 5目录解压到Program FilesDeveloper Express Inc下覆盖原安装目录; 21、将压缩包中ExpressPageControl 2目录解压到Program FilesDeveloper Express Inc下覆盖原安装目录; 22、将压缩包中ExpressQuantumGrid 5目录解压到Program FilesDeveloper Express Inc下覆盖原安装目录; 23、将压缩包中Bpl目录解压到BorlandDELPHI7Projects下覆盖原目录。 24、到此全部安装完毕,对于ConvertGrid3Demo和ConvertGrid3MasterDetailDemo还必须同时安装“DevExpress ExpressQuantumGrid Suite v3.22 for Delphi7”,才行!

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧