Quelqu'un peut-il me dire comment procéder comme suit: p>
Je veux savoir comment faire ce qui précède à l'application de l'exécution de l'application, par exemple dans l'événement Oncreate du formulaire. P>
3 Réponses :
(Voir aussi http://msdn.microsoft.com/en-us/library/70w4awc4.aspx ) p>
Autant que je sache, il y a aucun moyen de désactiver une treenode. La seule chose que vous puissiez faire est d'intercepter l'événement avant-coureurs et d'annuler la sélection là-bas. Pas si gentil. P> h1>
Il existe une propriété "sélectionnable" qui existe dans TCustomViewItem, que la propriété d'article descend de. Cela pourrait se comporter comme une sorte de mécanisme invalidant.
Je sais comment des travaux sélectionnables, mais je veux faire cela dans l'événement MainForm.Oncreate
@Mark: Dans quelle version de DELPHI est ce "TCUSTOMViewItem"? Je ne le trouve pas. @Remus: Cela signifie-t-il que vous essayez d'éviter les gestionnaires d'événements? Sinon, vous pourriez remplir une liste ou une matrice «nœuds désactivées» dans le formulaire surCréate et vérifiez contre ces éléments sur ONCHANGING et ONCUSTOMDRAWITEM de l'arborescence. OTOH Il y a un drapeau TVIS_EX_DISED pour les contrôles Shell> Ver. 6.00 (Vista?), Mais tout cela fait vraiment est de dessiner le texte avec la couleur désactivée et de ne pas dessiner le look sélectionné si vous cliquez dessus. L'article, en fait, est sélectionné.
@Sertatac: Je consultitais le fichier d'aide Delphi 7.
@Remus, vous avez ici un exemple simple ajoutant des nœuds.
Si vous voulez ajouter de nombreux nœuds en utilisant un boucle ou autre chose que vous devez utiliser Commencer avant de faire les changements à l'arborescence. Quand tous les changements sont compléter, appelez endupdate pour montrer le changements à l'écran. Beginupdate et Endupdate empêche les redessins excessives et accélérer le temps de traitement lorsque Les nœuds sont ajoutés, supprimés ou insérés. P> blockquote>
xxx pré> À propos de désactiver un nœud, n'existe pas de propriété comme celle-là. P> p>
Vous pouvez désactiver la sélection dans le gestionnaire d'événements ONCHANGING. C'est un événement de TTTREEEVIEW.
procedure TForm.OnChanging(Sender: TObject; Node: TTreeNode; var AllowChange: Boolean); begin AllowChange := CheckSomePropertiesOfNode(Node); end;