Which component should i use to draw on.

Dear Experts,

Again I need your advice.

Thank to you guys I have a good example of a telnet-programm
and it works like a clock. All the features works great.

I have put the example on my site:
http://members.home.nl/peterkiers/ 
(Beneath the Under Construction bar you see a floppy-disk)

The example draws on the canvas of the form.
But when I want to add a toolbar on the form, a part of the canvas
gets hidden!

1. Shouldn't I better use a component to draw on? And which one should I use?
2. I have tried to use the component TImage to draw on
    but then several features in the example doesn't work that good anymore!
 
I get a little frustrated.

Who can help me?

Greetings,

Peter Kiers





LVL 1
peterkiersAsked:
Who is Participating?
 
2266180Commented:
1. it is indeed the best solution. I suggest a TCustomPanel or descendant
2. see 1 :) TImage has to much overhead for what you need.
0
 
ziolkoCommented:
you can try this, write your own component based on TCustomPanel and expose Canvas property to public section.

TMyDrawingPanel = class(TCustomPanel)
public
  property Canvas;
end;

ziolko.
0
 
2266180Commented:
hehe, same minute posting :)
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
ziolkoCommented:
btw. you can write your own constructor in TMyDrawingPanel to
set your panel to suit you like BeverOuter := bvNone, caption := '' etc

ziolko.
0
 
ziolkoCommented:
yup it was matter of seconds:)

ziolko.
0
 
ziolkoCommented:
peter look at ciuly's points and on mine i'm sure this will help you make right decision which comment you should accept ;)

ziolko.
0
 
peterkiersAuthor Commented:
Is it maybe possible to help me with it, at least to give a beginning.

Peter Kiers
0
 
2266180Commented:
> peter look at ciuly's points and on mine i'm sure this will help you make right decision which comment you should accept ;)

rofl

I could still steal them from you, if I toss him some example :P so hurry up ;)
0
 
ziolkoCommented:
that's all you need:
interface
TMyDrawingPanel = class(TCustomPanel)
public
  constructor Create(AOwner: TComponent); override;
  property Canvas;
end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('My Component', [TMyDrawingPanel]);
end;


constructor TMyDrawingPanel.Create(AOwner: TComponent);
begin
  inherited;
  BevelOuter := bvNone;
  Caption := '';
end;

you can write it in separate .pas file and install it as any other component :)
0
 
peterkiersAuthor Commented:
I choose the advice from Ciuly
0
 
ziolkoCommented:
ciuly are you trying to take advantage of fact that my boss is looking over my shoulder? ;)

ziolko.
0
 
2266180Commented:
>I choose the advice from Ciuly
rolf

just in case that wasn't a joke :) peter, keep in mind that my advice is almost the same as ziolkos and he was first ;) (plus he gave code, which again is an important factor when deciding)
0
 
ziolkoCommented:
>>I choose the advice from Ciuly

peter you too against me?:)
i'll show you, both of you, you'll remember me forever:)

ziolko.
0
 
2266180Commented:
>ciuly are you trying to take advantage of fact that my boss is looking over my shoulder? ;)
become a freelancer and work from home, like I did. only problem is when wife gets home, you can't do "overtime" :D
0
 
ziolkoCommented:
heh i thought abt that... but f*** boss i'm looking for new job anyway :)

ziolko.
0
 
peterkiersAuthor Commented:
Thanks both for the advice.

Peter Kiers
0
 
2266180Commented:
hm... I know from the expert skin there is no way of telling which answer will be accepted (though I thinkit's eitehr the first or teh one with biggest number of points) so I hope it was ziolkos answer you wanted to accept and mine to assist ... because this is the correct way, as I already explained above.

and if indeed you wanted to accept ziolkos answer, then I'll take this opportunity to state again that the new interface ... is way below aspectations (to say the least).
0
 
ziolkoCommented:
skin is not that bad, couple o few featuers are cool but cross-topic Qs...
ziolko.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.