Propriétés de TControl non accessible

Résolu
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 - 18 janv. 2005 à 17:43
Niki2001 Messages postés 85 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 17 décembre 2005 - 2 mars 2005 à 09:15
Bonjour à tous.
Pourquoi ne peut-on pas écrire par exemple:
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin
for i := 0 to Panel1.ControlCount-1 do
Panel1.Controls[i]. DragMode : = dmAutomatic;
end;
En effet, je ne peux pas changer les propriétés DragMode des controls.
Alors que je pourrais faire, par exemple:
Panel1.Controls[i].Enabled := false;
Ca, ça passe...
Je ne comprends pas la différence...
Si quelqu'un peut avoir la gentillesse de m'expliquer, merci. :)

2 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
18 janv. 2005 à 18:27
Salut,



D'après l'aide, la propriété DragMode de TControl est protégée, alors
qu'elle est publiée pour certains de ses descendants (contrairement à
enabled qui est plublic dès "l'origine"). Ca doit expliquer tes problèmes.



Ken@vo

____________________

Code, Code, Codec !
3
Niki2001 Messages postés 85 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 17 décembre 2005 1
2 mars 2005 à 09:15
Je pense qu'un transtypage dans une classe descendante où "DragMode" est public voire published pouurait arranger les choses.
A la limite, même si c'est pas très réglo tu pourrais creer un type du genre:

type
TMonControl= class(TControl)
public
property DragMode;
end;

et faire le transtypage:

TMonControl(Panel1.Controls[i]). DragMode : = dmAutomatic;

Sur ce...
3
Rejoignez-nous