{OOP} visibilite dans une classe VCL [ Delphi ] - Delphi/Pascal - Programmation
Marsh Posté le 13-03-2003 à 15:00:40
Je pense que c'est comme ça qu'il faut faire en effet
Si la propriété est déjà définie dans un ancêtre du n'es pas obligé de définir le "read".
Quand tu parles d'un deuxième avec même contenu, t'entends quoi par "contenu" ? les property sont juste des genre de pointeurs vers des méthodes ou attributs, y a pas de contenu donc.
Marsh Posté le 13-03-2003 à 17:23:39
antp a écrit : Je pense que c'est comme ça qu'il faut faire en effet |
OK... Je teste tonight
Marsh Posté le 14-03-2003 à 07:05:48
cela fonctionnera mieux comme cela...
TMyPanel = class(TPanel) |
pour l'utiliser il te suffira alors de caster ton panel ex:
TMyPanel(Panel1).Canvas.TextOut(10,10,edit1.text); |
et je te rassure ce truc ne crééra pas un deuxième canvas, spa bo et les puristes de l'objet vont devenir tout rouge ... mais sa marche
Marsh Posté le 14-03-2003 à 16:51:36
Taureau a écrit : cela fonctionnera mieux comme cela...
|
Ben... ca marche, ca marche, c'est vite dit...
Selon les fonctions appelees ensuite, ca donne des resultatts amusant
Image1.Canvas.Assign(MyPanel.Canvas); leve une exception
Image1.Canvas.Copyrect(x,MyPanel.Canvas,x); fonctionne
(x est un TRect valide)
Marsh Posté le 14-03-2003 à 20:32:25
le fait que cela lève une exception ne provient absolument pas de cette technique, mais c juste que tu ne peux assigner un TControlCanvas à un TBitmapCanvas...donc ça marche oui
Marsh Posté le 14-03-2003 à 22:52:06
Taureau a écrit : le fait que cela lève une exception ne provient absolument pas de cette technique, mais c juste que tu ne peux assigner un TControlCanvas à un TBitmapCanvas...donc ça marche oui |
J'ai essaye de balancer le canvas a un autre TMyPanel et ca fait
Impossible d'assigner un TControlCanvas à un TControlCanvas
Marsh Posté le 15-03-2003 à 12:01:58
ben c normal non ? il ne faut pas confondre un canvas avec une bitmap...en plus ton canvas est en lecture seule...
donc si c pour faire un copie de son contenu il faut nécessaire faire Canvas.Copyrect
Marsh Posté le 13-03-2003 à 14:19:30
Spa une demande de compo cette fois
Voila le probleme, je souhaite recuperer le graphisme contenu dans un TPanel... Mais il a pas de Canvas (ou plutot le canvas n'est pas un membre visible de la classe).
On m'a suggere ailleur de creer une classe :
Ca peut forcer la visibilite du canvas ca ? Ou ca en cree un deuxieme avec le meme contenu que celui cache ?
Est-ce qu'il ne faidrait pas faire property Canvas: TCanvas read <je sais pas quoi mettre ici>; ?
Message édité par Ciler le 13-03-2003 à 14:20:08