Tree virtuel

Ce contrôle utilise un paradigme différent pour la gestion des arbres que d'autres contrôles de ce type
Télécharger maintenant

Tree virtuel Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • LGPL
  • Nom de l'éditeur:
  • Mike Lischke
  • Systèmes d'exploitation:
  • Windows All
  • Taille du fichier:
  • 707 KB

Tree virtuel Mots clés


Tree virtuel La description

L'arborescence virtuelle a été conçue pour être un contrôle d'une arborescence construit à partir de masse. Plus de 5 ans de développement ont fait l'un des contrôles des arbres les plus flexibles et les plus avancés disponibles aujourd'hui. TreeView virtuel Start de la réclamation pour améliorer de nombreux aspects des solutions existantes et introduit certaines nouvelles technologies et principes qui n'étaient pas disponibles auparavant. Comme le nom l'indique déjà, ce contrôle utilise un paradigme différent pour la gestion des arbres que d'autres contrôles de ce type. Il ne sait rien des données qu'il gère (sauf sa taille), pas même les légendes d'un nud. Tout est extrait de l'application via des événements (ou des descendants via des méthodes remplacées). TreeView virtuel a été soigneusement conçu et minutieusement testé. Le contrôle a prouvé son concept ainsi que la condition physique quotidienne déjà dans de nombreux produits commerciaux et projets gratuit. Caractéristiques principales: Général: Tree ViewView en tant que document Editor EditorVirtual TreeView est extrêmement rapide. Ajout d'un million de nuds ne prend que 700 millisecondes *! Cela en fait actuellement la vision des arbres la plus rapide disponible au public sur le marché Delphi / BCB. Virtual TreeView a une très petite impression de pied de mémoire. En attribuant seulement environ 60 octets par nud (dans l'arbre à cordes, l'arbre de base utilise seulement 56 octets) Il est bien préparé pour en tenir un million d'entre eux. View TreeView est optimisé pour un accès à grande vitesse. Il faut aussi peu que 0,5 seconde pour traverser un million de nuds * en fonction des états de validation et de validation des nuds nécessaires. Multisélections est pris en charge, y compris la sélection contrainte de sorte que seuls les nuds d'un certain niveau initial puissent être sélectionnés. Un grand effort a été mis en place dans le développement d'algorithmes efficaces par exemple. permettre de modifier un ensemble de sélection déjà important encore de manière interactive. Dessiner l'arborescence entier sur un bitmap ou l'imprimante est pris en charge par la méthode centrale tbasevirtualtree.Painttree. Les messages wm_print et wm_printclient sont traités correctement qui permettent des choses comme dessiner un arbre dans un bitmap (par exemple pour Windows en couches ou pour mettre en uvre une liste déroulante d'animation des commandes qui utilisent VT comme contrôle déroulant). Il existe un événement TBasevirtualtree.onhint pour afficher des nuds spécifiques. Il y a un événement TBasevirtualTutualtree.ongethelpContext pour récupérer des ID de contexte d'aide spécifiques au nud. Ceci inclut une traversée automatique des arbres et des fenêtres de contrôle parent comme invoqué lorsque l'utilisateur pressé F1 Il y a un événement TBasevirtualTutualtree.ongetpopupMenu pour récupérer des menus popup spécifiques au nud, comprend une traversée automatique des arbres. Les boutons de souris et à droite peuvent être utilisés en plus du bouton gauche et prennent en charge tout ce qui est possible avec le bouton gauche (glisser, sélection, etc.). Ces boutons alternatifs peuvent être commutés, bien sûr. Une image d'arrière-plan fixe peut être utilisée dans l'arborescence et peut recevoir un certain décalage, par ex. simuler des antécédents partagés. Le style chaud pour les nuds est pris en charge (comme des liens dans une fenêtre de navigateur). Un curseur spécial peut être attribué à cette tâche. Les arbres de cordes prennent en charge le texte statique en seconde-note qui apparaît après la légende d'un nud (dans chaque colonne) et qui peut être formatée différait différente de la légende mais ne peut pas être modifiée, sélectionnée, etc. Un mode de colonne Auto Span est pris en charge qui permet à une colonne de prendre plus d'espace pour sa légende s'il y a des colonnes vides à sa droite. Cela évite l'élimination des légendes longues mais permet toujours d'utiliser plusieurs colonnes. Un nud peut être sélectionné dans chaque colonne (ceci est commutable) ainsi que modifié, faisant également une sorte de grille d'arborescence virtuelle. La clé tabulatrice peut être utilisée pour activer la mise au point entre les cellules. Il existe une option spéciale (TOgrRextensions) pour soutenir les tâches spécifiques à la grille. Les nuds peuvent avoir des hauteurs individuelles et l'alignement vertical des images et des lignes d'un nud peuvent être ajustés individuellement. View TreeView expose ses états internes tels que l'attente des événements de traînée ou de modification, multi-sélection ou en expansion en cours. Utilisation de ces informations Une application peut optimiser son exécution de code (mises à jour de l'état, etc.). Tri des nuds est pris en charge via une application définie Comparez le rappel. De plus, un arbre peut être réglé sur le tri automatique. Les astuces peuvent contenir plusieurs lignes de texte et refléter l'alignement et la directionnalité du nud ou de la colonne qu'elles sont affichées. Pour leur animation glissant et alpha mélange est disponible. La recherche incrémentielle avec diverses options et directions est également disponible. Le défilement automatique de la zone client se produit lorsque la souris est proche des frontières tout en faisant glisser et dessinant la sélection (multi-sélection). tbasevirtualtree.defaultNodeHeight et TVIRTUALStringtree.defaultText peut être utilisé pour éviter de définir de nombreux nuds explicitement à la même valeur de départ. La mise en oeuvre de la colonne Virtual TreeView permet également des colonnes fixes, ce qui en fait un bon remplacement de la grille. nouvelles technologies: Pour les animations lisses (E.G. Formation de l'indicateur) View TreeView utilise des routines d'assembleur MMX optimisées à la main. Ce code est également utilisé pour dessiner le rectangle de sélection translucide en mode multi-sélection. Cela ressemble beaucoup à ce que Windows 2000 et Windows XP prend en charge également Windows 95/98 / Me. une image alpha mélangée de la fenêtre de l'arborescence est affichée en faisant glisser-déposer. Sous Windows 2000 et Windows XP Idroptargethelper et IdragSourceHelper Interfaces sont supportés pour permettre des effets très soignés (tels qu'utilisés par Explorer). Sur les versions Windows des consommateurs plus âgées, l'image de la glisser est simulée par l'arborescence, mais sous-tend des limitations mineures. View TreeView prend en charge les thèmes Windows XP. Il agit correctement sur les changements de thème et les utilisations pour tous les éléments visuels qui sont thématiques la bonne image en utilisant des API natives. Sous d'autres systèmes Windows, ces styles sont pris en charge par un code hérité séparé. La prise de conscience du thème peut être commutée. Unicode: TVIRTUALStringtree est implémenté avec des cordes UNICODE / larges exclusivement. L'arborescence enregistre et lit toutes les propriétés Unicode (par exemple, les légendes de colonnes, le texte de noeud par défaut et similaires) correctement vers / depuis DFM. Tous les dessins Unicode prend pleinement en charge la bidirectionnalité (c'est-à-dire un dessin droit à gauche), alignement de colonne (gauche, centre, droit) et astuces alignées correctement. Bien sûr, cette fonctionnalité est également disponible sur Windows 95/98 / ME. Drag'n Drop and Clipboard Support: Les transferts de la traînée et de la goutte de goutte et de la goutte d'ole sont pris en charge avec l'arborescence comme source et cible. En variante, VCL DRAG'N DROP peut toujours être utilisé pour la compatibilité. Ces formats soutiennent la mise en uvre standard: Format Serialized Native (CF_VIRTUALTREE et CF_VTREFERATION), qui est une forme compacte pour échanger des données entre les arbres virtuels (également entre les applications). Deux formats de stockage sont disponibles: HLBOBAL et ISTREAM. Format de chaîne de texte ANSI uni. Format de chaîne de texte unicode simple. Format de chaîne de texte riche (RTF) (avec texte UNICODE). Format de chaîne de texte HTML (UTF-8). Il s'agit du format de presse-papiers préféré pour Word 2000, etc. et permet de copier et de coller le contenu de l'arborescence à un document Word avec presque aucun code d'application. Il existe un schéma d'enregistrement (registervtclipboardformat) qui permet aux descendants de spécifier et de mettre en uvre leurs propres formats de presse-papiers. Via un gestionnaire de chute, l'application peut accepter tout format OLE sans dériver une propre classe d'arbres. Afin de faciliter le traitement des méthodes spécialisées de données d'arborescence indigènes. Voir aussi: tbasevirtualtree.processoledata et tbasevirtualtree.Processdrop. Dropsmarks Show lors de la chute de Drag'n où les données seront insérées. Cela fonctionne également avec VCL Drag'n Drop. Le modèle cible de chute a été étendu pour permettre des actions de chute ci-dessus, ci-dessous ou sur un nud. Pendant ce temps, les fournisseurs d'autres contrôles d'escvocations ont commencé à utiliser cette idée peu mais puissante. AUTO DROP DROP DROIT DES NODES QUI SONT LA CIBLE DE DÉPOSE POUR PLUS D'UN ALIME DE TEMPS RÉGLABLÉE est effectué si activé. en-tête et colonnes: Plusieurs colonnes sont étayées par une implémentation d'en-tête propre. Cet en-tête prend de l'espace dans la zone non-client de la commande d'arborescence et prend en charge divers styles de boutons (boutons épais de liste standard, boutons plats, plaques, style Windows XP et tirage au propriétaire). Les colonnes peuvent apparaître dans chaque commande de la fenêtre de l'arborescence. Chaque colonne peut être cachée, y compris la colonne principale qui contient l'arbre actuel. Chaque colonne peut devenir la colonne principale. Les colonnes peuvent également être affichées sans l'en-tête. Les colonnes peuvent avoir diverses options (visibles, cliquables, redimensionnables, draggables, etc.). Vous pouvez définir des alignements individuels pour chaque colonne, ainsi que la directionnalité de droite à gauche ou de gauche à droite (encore une fois: disponible également sur les systèmes de consommation de fenêtres non-du Moyen-Orient et les plus âgés). Chaque colonne peut avoir une propre couleur. L'en-tête ainsi que la classe de collecte de colonnes et les classes de colonne réelles prennent en charge la diffusion en continu. Ceci est indépendant de la streaming des arbres. Vérifier le support: Chaque nud de l'arborescence peut avoir son propre type de contrôle. Ceci peut être cochez la case (aussi tristate), bouton radio ou bouton de nud. Ces types peuvent être librement mélangés afin que vous puissiez par exemple avoir un nud avec 10 nuds dont 5 comprennent un groupe radio (où seul l'un de ces 5 nuds peut être vérifié) et que les 5 autres nuds peuvent avoir une case à cocher (ou aucun chèque Tapez du tout). Les cases à cocher mixtes (Tri-State) avec une manipulation correcte pour la vérification partielle des nuds d'enfants sont prises en charge (comme souvent utilisées dans les programmes d'installation et de sauvegarde). La propagation automatique des changements d'état pour le type de bouton de contrôle mixte est possible (si activé). Vérifiez les événements OnCHecking et ONCHeck Les événements sont également fournis. À des fins particulières Un petit bouton plat peut être utilisé, ce qui s'appelle un bouton de nud. 7 types d'images de chèques sont possibles. Marques de contrôle sombre et lumineuse, marques de tick noir et lumineuses, images à cocher à plat, style Windows XP Cochez des images et des applications définies. Vérifiez les images. Pour une vue d'ensemble, voir la propriété tbasevirtualtree.checkimagekind. Temps de conception: Les propriétés et les méthodes de l'arbre virtuel sont enregistrées avec les catégories Delphes (Delphi 5 et BCB 5 ou supérieures). Un éditeur de propriétés spécial pour les formats de presse-papiers est inclus qui permet un choix de format simple. Ceci est particulièrement important car les formats de presse-papiers disponibles doivent être donnés en tant que chaînes et il est également assez pratique d'avoir une liste de formats disponibles, même s'ils ne sont pas encore activés (de savoir ce qui peut être activé). Personnalisation: Les cycles de tirage sur mesure et de peinture sont pris en charge via des événements de peinture (pour l'arbre entier et pour chaque nud). Outre les types de chèques intégrés Un utilisateur défini L'image de contrôle peut être utilisée qui est prise en charge par une liste d'images distincte (tbasevirtualtree.customCheckimages). Chaque bouton de l'en-tête peut être dessiné individuellement. Trois styles de lignes différentes sont disponibles: lignes pointillées, lignes solides et lignes définies d'application. Les applications et les descendants peuvent fournir à leur propre éditeur de nuds (qui ne doit pas nécessairement être un seul contrôle) en manipulant l'événement TBasevirtualtree.onCreatEvent ou en prime TBASEVIRTUALTREE.DOCREATTOR. Cela permet de remplacer complètement l'édition de nuds par ses propres règles (entreprises). Les applications et les descendants peuvent fournir leur propre interface de Dron Manager en manipulant l'événement TBasevirtualTree.oncreateDragManager ou en primes TBasevirtualtree.docreateDragmanager. Cela permet de personnaliser l'ensemble de la manipulation des traînées de l'arbre. Remarque: VCL DRAG'N DROP est géré par la VCL afin que cela ne puisse donc pas être personnalisé. Les applications et les descendants peuvent fournir leur propre interface d'objet de données en manipulant l'événement TbasevirtualTutualtree.oncreatedataTaObject ou en prime tbasevirtualtree.docreatedataObject. Cela permet de fournir de ses propres formats de presse-papiers. Il existe une fonction d'enregistrement (registervtclipboardformat), ce qui permet d'enregistrer des descendants d'arbres avec ses propres formats de presse-papiers et / ou de stockage. Les applications peuvent fournir des formats de copie-presse-papiers propres (sans dériver de nouvelles classes d'arbres) en manipulant l'événement TBasevirtualTree.GettuserClipboardFormats. Les applications et les descendants peuvent modifier complètement la manipulation de la clé de l'arborescence en manipulant l'événement TBasevirtualTree.OnkeyAction ou en primes tbasevirtualtree.dokeyAction. Cela fonctionne également pour une recherche progressive. Les applications et les descendants peuvent personnaliser l'arrière-plan de l'arborescence qui n'est pas couvert par des nuds, en manipulant l'événement TBasevirtualtree.onpaintBackTross ou en proie à TBASEVIRTUALTREE.DOPAINTBACK. Pour les nuds, il existe d'autres événements pour la personnalisation. Les applications et les descendants peuvent personnaliser la manière dont l'arborescence à cordes raccourcit les légendes trop longues en manipulant l'événement TCustomVirtualStringTree.onshortentenstring ou primordial TCustomVirtualStringtree.doshortenstring. défilement: Les barres de défilement plats sont prises en charge. Mais comme ils sont en conflit avec Windows XP, ce support est désactivé par un symbole du compilateur (UseflatscrollBars). Activez ce symbole si vous souhaitez vraiment utiliser des barres de défilement plats avant de compiler l'unité d'arborescence. Chaque opération de défilement déclenche un événement TBasevirtualtree.onscrolls. Cela permet de synchroniser des arbres avec d'autres contrôles. Il existe des propriétés (par exemple tbasevirtualtree.offsetsexy) qui permettent de faire défiler le contenu de l'arborescence à une postion de code sans envoyer de messages. Panning de roue et défilement est pris en charge. C'est-à-dire en cliquant sur la molette de la souris ou en appuyant sur et enfoncé tout en déplaçant la souris autour de la fenêtre d'arborescence, faites défiler la douceur. Streaming: La sérialisation de contenu d'arbre sophistiqué a été mise en uvre pour permettre d'économiser et de restaurer un arbre vers / depuis des flux. Cela inclut également les données utilisateur tant qu'il peut être écrit dans un flux. TreeView virtuel permet également d'ajouter des données du flux à la place du remplacement de l'ensemble du contenu. Le format interne du flux est basé sur le chunk, ce qui le rend très flexible pour les améliorations futures, mais conserve toujours la compatibilité avec les implémentations plus anciennes. Il existe un chunk utilisateur qui prend des données écrites dans le flux dans l'événement TBasevirtualtree.onSavenode. Les données de cet utilisateur chunk peuvent être lues dans tbasevirtualtree.onloadnode. Support du développeur : Un soin particulier a été pris pour formater le code source de virtual Treeview systématiquement. Une grande partie de l'ensemble de la mise en uvre sont des commentaires décrivant le fonctionnement intérieur. Les méthodes et les propriétés sont par conséquent commandées par ordre alphabétique dans leur champ d'application (privé, protégé, public, publié). La seule exception sont les constructeurs et les destructeurs qui apparaissent toujours en haut de la section publique de la Déclaration de classe et sont toujours les premières méthodes de la mise en uvre de la classe. Pour chaque événement, une méthode virtuelle qui appelle le gestionnaire d'événements. Cela permet aux descendants de recevoir un avis de chaque événement sans attribuer un gestionnaire. Les noms de ces méthodes correspondent directement aux événements en utilisant le motif: DOEventName. De nombreuses mesures ont été prises pour assurer la compatibilité Borland C ++ Builder. Ceci est particulièrement difficile car la traduction automatique du code Delphi to c ++ en BCB est une buggy. Il existe un mécanisme facile et puissant pour les rédacteurs de descendants d'allouer leurs propres données sur une base par nud. Appelez simplement Tbasevirtualtree.Allocateternaldata pour enregistrer vos besoins. Cela n'influencera pas le code d'application existant ou futur s'il utilise par conséquent tbasevirtualtree.getnodedata pour l'accès des données utilisateur. Édition: Les éditeurs définis par application sont pris en charge via une interface de liaison d'édition. Un éditeur générique (non unicode) est également disponible. Chaque colonne de l'arborescence est modifiable si activé (voir TCustomVirtualtreeoptionS.selectionPtionS.TextencedFocus). Utilitaires: Pour votre commodité, certaines des fonctions utilisées en interne qui sont d'intérêt général sont exposées. AlphaBend: procédure générale pour mélanger une source sur un bitmap cible en utilisant plusieurs modes différents. TRAINTTEXTW: une implémentation partielle de l'API Treetext qui prend en charge UNICODE. Cette méthode n'a qu'un talon sur Windows 95/98 / ME. raccourcissant: une fonction d'usage générale qui rend un raccord de withestring donné dans un espace donné. Ceci est partiellement implémenté par l'API Windows Drawtext, mais prend également soin de l'alignement de droite à gauche et fonctionne avec Unicode également sur Windows 95/98 / Me.


Tree virtuel Logiciels associés

Contrôle SMSX ActiveX

Le contrôle ActiveX SMSX peut être utilisé dans tout environnement de développement qui prend en charge l'utilisation de contrôles ActiveX. ...

225 560.97K

Télécharger