我是菜鸟,想做一个类似与画图版功能的程序,有很多问题请教高手:)(100分)

  • 主题发起人 gushui118
  • 开始时间
G

gushui118

Unregistered / Unconfirmed
GUEST, unregistred user!
我先介绍一下实现的功能,我做的类似于地图,在上面加一些几何图形作为图标,可以实现拖动
。。。等等事件吧。由于我刚学delphi,不知该怎么下手。是不是要创建新的类,然后在基础上
继承。该如何下手,如果可以的话,希望那位高手能能针对一个图形写一下源码,并解释一下。
请多多指教:)
 
请帮帮忙。谢谢了
 
delphi自带了一个Demo
Borland/Delphi7/Demos/CustomDraw
内容太广泛,自己学习吧,祝好运
 
这是一个属性吗?还是别的?能解释详细点吗?这个程序好象需要新建类.对吗?
 
打开。。运行。。ok
 
我是在做一个电路调度系统的界面,老板让自己做程序阿:)
 
1.找工控控件
2.就用标准图形控件
关键对于拖动写代码!
 
一个小演示

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TDrawObject = class //基类
procedure Draw(ACanvas: TCanvas); virtual;
end;

TDrawRect = class(TDrawObject) //矩形类
R: TRect;
procedure Draw(ACanvas: TCanvas); override;
end;

type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TDrawObject.Draw(ACanvas: TCanvas);
begin
end;

{ TDrawRect }

procedure TDrawRect.Draw(ACanvas: TCanvas);
begin
inherited;
ACanvas.Rectangle(R);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
dr: TDrawRect;
begin
dr := TDrawRect.Create;
dr.R.Left := X;
dr.R.Top := Y;
dr.R.Right := dr.R.Left + Random(100);
dr.R.Bottom := dr.R.Top + Random(100);
dr.Draw(Self.Canvas);
end;

end.
 
楼主:你的问题太广泛了吧!最好有点针对性,这样才好回答啊
 
谢谢诸位大虾,等我看看先:)
 
如果要实现拖动怎么办?尤其是当两个图形重叠时!我在想在图形下面加一个panel,利用panel来完成
,只是不知道怎么下手,能解释一下吗?
 
http://www.csdn.net/cnshare/soft/13/13995.shtm
 
这是什么啊?打开就没了,我怀疑是木马,有源程序吗?
 
to:largewang
你好我也再写这方面的程序,能帮忙提供代码吗?
 
to:largewang
开个玩笑,为什么我一打开就没了?有源程序吗?谢谢:)
 
哈哈我的也是,搞不定是那小子搞得鬼不会是木马什么的吧?
 
不好意思,好久没有更新了。

要把系统时间改成2月1号!
 
是因为时间过期,程序自己删除自己了。
 
大哥,有源程序吗?看看啊:)还有是今年2月1号吗?
 
to:largewang
能看看源程序吗?人格担保,看完就删。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
887
DelphiTeacher的专栏
D
顶部