怎么实现画流程图的一个小软件,高手不妨也看看(200分)

  • 主题发起人 主题发起人 chenybin
  • 开始时间 开始时间
C

chenybin

Unregistered / Unconfirmed
GUEST, unregistred user!
1、流程以什么方式比较好,我现在想的是一些小的TIMAGE作为流程中的过程,然后用CANVAS来画线,但是总觉得不对
2、如果是在TIMAGE里面用CANCAS的话,线条是不能拾取的,所以我就需要在我画线和删除的时候用一个数珠来记录,但是始终觉得线条不能很方便选择和拖移等操作
3、这样的话,那些中间的过程也就是框框我用什么表示好点呢,也用一个数珠来记录位置,用CANVAS来画吗?
4、线条是一个有箭头的线条,一个是我想让线条比较直,而不是斜的,就是说如果出现斜的,那么我就把它弄成是折线,而且我想的是如果线条没有连接两个过程,那么就没有意义,所以线条可以自动选择离自己比较近的过程,也就是步骤。
我对画图不是很熟悉,希望大家可以给一些帮助,另外我看了论坛以前的资料。有些有TLINE之类的东西,但是也不全面,希望不要见笑,但是有个谁的TLINE 好象比较好,不过我一直没有找到可以下的,谢谢了

另外我有FLOW CHART控件,但是功能太多了,有些我不需要,所以想自己写一个,谢谢也不用推荐了,而且我需要和其他东西接口
 
自己写个TLINE不就行了,不过对于折线的拾取要特殊处理一下,如果拾取一个大框就太土了![:D]
 
TO
蒋劲刚, 谢谢关心

其实如果我自己会写那就简单了,希望可以点详细的建议

http://www.tommstudio.com/newclub30/d_sources.asp这个我看过,但是和我要求不一样,
而且也不是很好
 
有画流程图的专门组件,你可以找找看。
 
TO 小神通
我直到哪个控件,上面我也说了,但是控制起来不时很灵活,所以我想自己写,以前好像有个Tline的下载,但是我现在上去下不来了
 
我想我最需要的就是关于线条的智能选择,一个线条如果两个端点没有连接到一定的步骤上,线条是不能画的,另外一个画线条或者是调整线条的时候,端点一定是在步骤那个图标矩形的一个8个点上,而且自己会选择一个比较近的

如果矩形框也就是步骤移动位置的时候,线条的端点也会移动
 
用express flowchart ,很强。
 
To chenxz

我说过我已经知道,而且有这个控件了,谢谢

大家继续
 
那就修改flowchart吧,我修改了不少,那个东西值得学习一下
 
自己做吧,我建议以描述文本的格式处理 :
比如线:起点+终点+颜色+线宽+。。。显示的时候就直接用canvas 画。
如何?[:D] 慢慢做吧
 
看看 FastReport 的Design 的代码 可以参考/

下面的就是判断范围的..

function TfrView.GetClipRgn(rt: TfrRgnType): HRGN;
var
bx, by, bx1, by1, w1, w2: Integer;
begin
if FrameStyle = 5 then
begin
w1 := Round(FrameWidth * 1.5);
w2 := Round((FrameWidth - 1) / 2 + FrameWidth);
end
else
begin
w1 := Round(FrameWidth / 2);
w2 := Round((FrameWidth - 1) / 2);
end;
bx := x; by := y; bx1 := x + dx + 1; by1 := y + dy + 1;
if (FrameTyp and $1) <> 0 then Inc(bx1, w2);
if (FrameTyp and $2) <> 0 then Inc(by1, w2);
if (FrameTyp and $4) <> 0 then Dec(bx, w1);
if (FrameTyp and $8) <> 0 then Dec(by, w1);
if rt = rtNormal then
Result := CreateRectRgn(bx, by, bx1, by1) else
Result := CreateRectRgn(bx - 10, by - 10, bx1 + 10, by1 + 10);
end;
 
谢谢大家的参与,不过我想能不能再具体点,因为这方面我涉及不多,可能笨了点,谢谢大家了
 
请和我联系qq:58055730
 
我看了一下 Express FlowChart的源码.
看来修改一下应该可以够我用的了.
 
to 郭玉梁:
能否给我们讲讲啊...
 
去找TLinLine,用大富翁全文检索:"
谁有画直线的控件呀???小弟急用!!! "
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1661776
 
后退
顶部