GDI+绘制的一个Report Designer原型

简介:

  早上看到Pvistely同学在说设计器编程的一些问题,想起来我也曾使用GDI+做过一个报表设计器的原型。刚才翻到了代码,居然已经是整整一年前的东西了,时间过的可真是快啊。当时产品里计划要提供可视化报表设计功能,于是part-time了两个周,做了这么一个原型给Team做方案评估。

    从Demo的效果来看,大家觉得使用GDI+做一个预想的报表的设计器应该没有什么太大问题,只是后来这个功能整个没有通过feature design而作罢了。程序运行效果如图:

    ReportDesigner.png
    本demo实现features如下:
    1、完全的自定义控件支持;
    2、Drag&Drop方式添加控件到容器中;
    3、多控件选取支持;
    4、多控件移动支持;
    5、Z-Order支持;
    6、标签控件编辑(double click);
    7、Image控件图片载入;
    8、8方向resize控件;
    9、无限级zoom设计器和控件。

    当然问题也很多,毕竟这只是一个demo。其中主要的问题有:
    1、没有作绘图优化,OnPaint里直接绘制所有的对象;
    2、Zoom后resize功能有bug,比例计算有问题;
    3、Redo & Undo,Copy & Paste未实现;
    4、没有实现容器的无限区域滚动支持。

    虽然公开源码,但不得不说这是一个没有经过太多推敲的设计,它只是给出了一种设计的思路和实现。如果您能在以后设计中避免其中的问题和不足,我的希望就达到了。如果这个demo能对你有任何一小点的帮助,那将是我所乐见的。欢迎对设计器编程感兴趣的博友不吝赐教emsmile.gif


本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
C# 前端开发
WPF - 图形设计器(Diagram Designer)
原文:WPF - 图形设计器(Diagram Designer)   OpenExpressApp计划中包括建模工具,计划是采用MetaEdit+模型来作为元模型,使用codeproject的《WPF Diagram Designer》一系列文章来做为设计器实现参考,本篇介绍一下codeprojcet的这四个文章,推荐给对图形设计器感兴趣的人去看看,通过WPF的模板功能和其他功能可以很方便的设计出图形编辑器。
3358 0
|
27天前
|
设计模式 开发框架 算法
【QML 创建界面】QML界面的动态创建及其其他方法 (Dynamic Creation of QML Interfaces and Other Methods)
【QML 创建界面】QML界面的动态创建及其其他方法 (Dynamic Creation of QML Interfaces and Other Methods)
55 0
|
5月前
|
开发者 Windows
EasyX趣味化编程note2,绘制基本图形(上)
EasyX趣味化编程note2,绘制基本图形
39 0
|
5月前
EasyX趣味化编程note2,绘制基本图形(下)
EasyX趣味化编程note2,绘制基本图形(上)
53 0
|
10月前
|
API 图形学
【unity细节】unity中实例化的物体在Game视图无法显示
【unity细节】unity中实例化的物体在Game视图无法显示
256 0
|
存储
使用Dynamic Data Display控件绘图时无法删除已经画好的曲线
最近在使用Dynamic Data Display画图的时候发现,多次画图时,之前画的图无法清除,造成图像混乱。找了好久发现这样可以消除。 在调用AddLineGraph时,使用一个全局的变量来存储这个方法返回的对象(LineGraph), 点击...
855 0
|
算法 Android开发 数据安全/隐私保护
【Android 逆向】IDA 工具使用 ( 函数窗口 Function window | 创建引用图 Xrefs graph to | 创建调用图 Xrefs graph from )
【Android 逆向】IDA 工具使用 ( 函数窗口 Function window | 创建引用图 Xrefs graph to | 创建调用图 Xrefs graph from )
434 0
【Android 逆向】IDA 工具使用 ( 函数窗口 Function window | 创建引用图 Xrefs graph to | 创建调用图 Xrefs graph from )
|
BI C#
Visual Studio 2017报表RDLC设计器与工具箱中Report Viewer问题
原文:VS2017入门 RDLC入门之01 本系列所有内容为网络收集转载,版权为原作者所有。 VS2017初始安装后和VS2015一样,都没有ReportDesigner/ReportViewer ReportViewer 1.
6508 0