Virtuele TreeView

Deze besturing gebruikt een ander paradigma voor boombeheer dan andere controles van deze soort
Download nu

Virtuele TreeView Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • LGPL
  • Naam uitgever:
  • Mike Lischke
  • Besturingssystemen:
  • Windows All
  • Bestandsgrootte:
  • 707 KB

Virtuele TreeView Tags


Virtuele TreeView Beschrijving

De Virtual TreeView is ontworpen om een TreeView-besturing te zijn die is gebouwd van de grond. Meer dan 5 jaar ontwikkeling maakte het een van de meest flexibele en geavanceerde boomcontroles die vandaag beschikbaar zijn. Virtual TreeView begint met de claim om veel aspecten van bestaande oplossingen te verbeteren en introduceert enkele nieuwe technologieën en principes die niet eerder beschikbaar waren. Zoals de naam al aangeeft, gebruikt deze besturing een ander paradigma voor boombeheer dan andere controles van deze soort. Het weet niets van de gegevens die het beheert (behalve zijn grootte), zelfs niet de bijschriften van een knooppunt. Alles wordt opgehaald uit de toepassing via gebeurtenissen (of afstammelingen via overschreven methoden). Virtual TreeView is zorgvuldig ontworpen en grondig getest. De controle bewees zijn concept en alledaagse fitness al in veel commerciële producten en freeware-projecten. Belangrijkste kenmerken: --generaal: Virtual TreeView AS Document Property EditorVirtual TreeView is extreem snel. Het toevoegen van een miljoen knooppunten duurt slechts 700 milliseconden *! Dit maakt het momenteel de snelste TreeView die openbaar is op de Delphi / BCB-markt. Virtual TreeView heeft een zeer kleine geheugenvoetprint. Door slechts ongeveer 60 bytes per knooppunt toe te wijzen (in de stringboom, gebruikt de basisboom slechts 56 bytes) het is goed voorbereid om een miljoen van hen te houden. Virtuele TreeView is geoptimaliseerd voor toegang met hoge snelheid. Het duurt zo weinig als 0,5 seconden om een miljoen knooppunten te doorkruisen * Afhankelijk van de benodigde validatie- en knooppuntvalidatietoestanden. Multiselectie wordt ondersteund, inclusief beperkte selectie, zodat alleen knooppunten van een bepaald beginniveau kunnen worden geselecteerd. Er is veel moeite gedaan in de ontwikkeling van effectieve algoritmen, b.v. om een reeds grote selectie-set nog in interactief mogelijk te maken. Tekenen van de hele boom naar een bitmap of de printer wordt ondersteund door de centrale tbasevirtualtree.painttree-methode. De berichten WM_Print en WM_Printclient worden correct afgehandeld die dingen in staat stellen om een boom in een bitmap te trekken (bijvoorbeeld voor gelaagde vensters of om geanimeerde vervolgkeuzelijst te implementeren die VT gebruiken als vervolgkeuzelijst). Er is een tbasevirtualtree.onhint-evenement om knooppuntspecifieke hints weer te geven. Er is een tbasevirtualtree.ongethelpcontext-evenement om knooppuntspecifieke helpcontext-ID's op te halen. Dit omvat automatische Tree- en Window Parent Control Traversal zoals wordt aangeroepen wanneer de gebruiker op F1 heeft gedrukt Er is een tbasevirtualtree.ongetpopupmenu-evenement om knooppuntspecifieke pop-upmenu's op te halen, inclusief automatische boomtraversal. Midden- en rechtermuisknoppen kunnen naast de linkerknop worden gebruikt en ondersteunen alles wat mogelijk is met de linkerknop (slepen, selectie enz.). Deze alternatieve knoppen kunnen natuurlijk worden geschakeld. Een vaste achtergrondafbeelding kan in de boom worden gebruikt en kan een bepaalde offset krijgen, b.v. om gedeelde achtergronden te simuleren. hete stijl voor knooppunten wordt ondersteund (net als links in een browservenster). Een speciale cursor kan voor deze taak worden toegewezen. Stringbomen ondersteunen SoCalled Static-tekst die verschijnt na het bijschrift van een knooppunt (in elke kolom) en die anders kunnen worden geformatteerd op het bijschrift, maar niet kan worden bewerkt, geselecteerd, enz. Een automatische spankolommodus wordt ondersteund waardoor een kolom meer ruimte inneemt voor het bijschrift als er lege kolommen aan de rechterkant zijn. Dit vermijdt het knippen van lange bijschriften, maar maakt het gebruik van meerdere kolommen nog steeds. Een knooppunt kan in elke kolom worden geselecteerd (dit is omschakeld) en bewerkt, waardoor virtuele TreeView ook een soort van een raster is. De tabelsleutel kan worden gebruikt om de focus tussen cellen te schakelen. Er bestaan een speciale optie (togridextensions) om netspecifieke taken te ondersteunen. -knopen kunnen individuele hoogten hebben en de verticale uitlijning van de afbeeldingen en lijnen van een knooppunt kunnen afzonderlijk worden aangepast. Virtual TreeView legt haar interne toestanden bloot zoals in afwachting van sleep- of bewerkingsevenementen, multi-selectie of uitbreiding in uitvoering. Met behulp van deze informatie kan een applicatie de executie van de code optimaliseren (statesupdates enz.). Het sorteren van een knooppunt wordt ondersteund via een toegezegde applicatie Vergelijken terugbellen. Bovendien kan een boom worden ingesteld op Auto Sorteren. Hints kunnen meerdere regels tekst bevatten en de uitlijning en directionaliteit van het knooppunt of de kolom worden weergegeven waarvoor ze worden weergegeven. Voor hun animatie is glijden en alfa-mengsel beschikbaar. Incremental Search met verschillende opties en aanwijzingen zijn ook beschikbaar. Automatisch scrollen van het clientgebied gebeurt wanneer de muis in de buurt van de grenzen is tijdens het slepen en tekenen selecteren (multi-selectie). tbasevirtualtree.defaultnodeheight en TVirtualStringtree.defaultText kan worden gebruikt om te voorkomen dat u veel knooppunten expliciet op dezelfde startwaarde instellen. Virtual TreeView's Column-implementatie maakt ook vaste kolommen mogelijk, waardoor het ook een goede rastervervanging is. Nieuwste technologieën: voor soepele animaties (b.v. hint fading) Virtual TreeView gebruikt hand geoptimaliseerde MMX assembler-routines. Deze code wordt ook gebruikt om de doorschijnende selectie rechthoek in multi-selectiemodus te tekenen. Dit lijkt erg op welke Windows 2000 en Windows XP-ondersteuning ook werkt op Windows 95/98 / ME. Een alpha gemengd beeld van het boomvenster wordt weergegeven tijdens het doen van slepen en neerzetten. Op Windows 2000 en Windows XP IDRoptargethelper en IDragsourcephelper-interfaces worden ondersteund die een aantal zeer nette effecten mogelijk maken (zoals gebruikt door Explorer). Op oudere consumenten Windows-versies wordt het sleepbeeld gesimuleerd door de boom, maar ligt daar minder kleine beperkingen. Virtual TreeView ondersteunt Windows XP-thema's. Het handelt op de juiste manier op themawijzigingen en gebruik voor alle visuele elementen die het juiste beeld zijn met het gebruik van native API's. Onder andere Windows-systemen worden deze stijlen ondersteund door afzonderlijke Legacy-code. Thema-bewustzijn kan worden geschakeld. Unicode: TvirtualStreeTree wordt uitsluitend geïmplementeerd met behulp van Unicode / brede snaren. De boom slaat en leest alle Unicode-eigenschappen (b.v. kolombijschriften, standaardknooppunttekst en dergelijke) correct naar / van DFM. Alle Unicode-tekening ondersteunt volledig bidirectionaliteit (d.w.z. rechts-naar-linker tekening), kolomuitlijning (links, midden, rechts) en correct uitgelijnde hints. Natuurlijk is ook deze functie beschikbaar op Windows 95/98 / ME. Drag'n Drop and Clipboard Ondersteuning: OLE-slepen en neerzetten en OLE-klembordtransfers worden ondersteund met de boom als bron en doelwit. Als alternatief kan VCL Drag'n-druppel nog steeds worden gebruikt voor compatibiliteit. Deze indelingen zijn ondersteuning door de standaard implementatie: Native Serialized Format (CF_VirtualTree en CF_VTREFERENCE), die een compact formulier is om gegevens uit te wisselen tussen virtuele TreeViews (ook tussen applicaties). Er zijn twee opslagformaten beschikbaar: HGObal en Istream. duidelijke ANSI Text String-indeling. Plain Unicode Text String-indeling. Rich Text (RTF) String-indeling (met Unicode-tekst). HTML-tekststringformaat (UTF-8). Dit is het favoriete klembordformaat voor Word 2000 enz. En maakt het kopiëren en plakken van tree-inhoud met een Word-document met bijna geen toepassingscode. Er is een registratieschema (RegistervtclipboardFormat) die afstammelingen toestaat om hun eigen klembordformaten op te geven en te implementeren. Via een druppelhandler kan de applicatie elk OLE-formaat accepteren zonder een eigen boomklasse af te leiden. Om de verwerking van de inheemse boomgegevens gespecialiseerde methoden worden geïmplementeerd. Zie ook: tbasevirtualtree.processsoledata en tbasevirtualtree.processdrop. DROPMAPPERS tonen tijdens Drag'n Drop waar gegevens worden ingevoegd. Dit werkt ook met VCL Drag'n Drop. Het druppeldoelmodel is uitgebreid om druppelacties hierboven, onder of op een knooppunt mogelijk te maken. Ondertussen zijn leveranciers van andere TreeView-bedieningselementen gestart met het gebruik van dit kleine maar krachtig idee. Auto expand van knooppunten die het druppeldoel zijn voor meer dan een instelbaar tijdsinterval wordt uitgevoerd indien ingeschakeld. header en kolommen: Meerdere kolommen worden ondersteund door een eigen header-implementatie. Deze header neemt ruimte in beslag in het niet-clientgebied van de Tree Control en ondersteunt verschillende knoppen Styles (standaard ListView dikke knoppen, platte knoppen, platen, Windows XP-stijl en eigenaar Draw). kolommen kunnen in elke bestelling in het boomvenster verschijnen. Elke kolom kan worden verborgen, inclusief de hoofdkolom die de eigenlijke boom bevat. Elke kolom kan de hoofdkolom worden. kolommen kunnen ook zonder de kop worden getoond. Kolommen kunnen verschillende opties hebben (zichtbaar, klikbaar, ophalenbaar, slepend, enz.). U kunt individuele uitlijningen instellen voor elke kolom, evenals rechts-naar-links of links-naar-rechts-directionaliteit (opnieuw: beschikbaar ook op niet-Midden-Oosten en oudere Windows-consumentensystemen). Elke kolom kan een eigen kleur hebben. De kop evenals de verzameling columns klasse en de werkelijke kolom klassen ondersteunt streaming. Dit is onafhankelijk van de boomstructuur streaming. Controle ondersteuning: Elk knooppunt in de boom kan zijn eigen check type hebben. Dit kan ofwel selectievakje (ook tristate), keuzerondje of knoop knop. Deze typen kunnen vrij worden gemengd zodat u bijvoorbeeld een knooppunt 10 knopen die 5 bestaan uit een radio-groep (waarbij slechts één van de 5 knooppunten worden gecontroleerd) en de andere 5 knooppunten een selectievakje (of geen check typ in totaal). Gemengd (tri-state) vakjes met de juiste behandeling voor gedeeltelijke controle van kindknooppunten worden ondersteund (zoals vaak gebruikt in installatie en backup programma). Automatische statusverandering propagatie van gemengde controleknop Type mogelijk (indien ingeschakeld). Bekijk gebeurtenissen OnChecking en OnCheck gebeurtenissen worden ook geleverd. Voor speciale doeleinden een kleine platte knop kan worden gebruikt, waarbij een knooppunt toets genoemd. 7 verschillende cheque beelden geproduceerd. Donker en licht vinkjes, donker en licht maatstreepjes, flat check beelden, Windows XP-stijl check foto's en de toepassing gedefinieerde check beelden. Voor een overzicht zie eigenschap TBaseVirtualTree.CheckImageKind. Design tijd: Virtual Treeview de eigenschappen en methoden zijn geregistreerd bij Delphi categorieën (Delphi 5 en BCB 5 of hoger). Een bijzondere eigenschap editor voor het klembord formaten is opgenomen die een eenvoudige indeling keuze maakt. Dit is met name van belang, aangezien de beschikbare klembordformaten als strings moet worden gegeven en het is ook heel handig om een lijst met beschikbare formaten hebben, zelfs als ze nog niet zijn ingeschakeld (om te weten wat er kan worden ingeschakeld). maatwerk: Aangepast tekenen en schilderen cycli worden ondersteund via verf events (voor de gehele boom en voor elk knooppunt). Naast de ingebouwde controletypes beeld een gebruiker gedefinieerde controle kan worden gebruikt die wordt ondersteund door een afzonderlijke beeldlijst (TBaseVirtualTree.CustomCheckImages). Elke knop in de header kan individueel worden getrokken. Drie verschillende lijnen stijlen zijn beschikbaar: gestippelde lijnen en ononderbroken lijnen toepassingsspecifieke regels . Toepassingen en afstammelingen kunnen hun eigen knooppunt editor (die niet noodzakelijkerwijs aan een enkele controle zijn) door het hanteren van de TBaseVirtualTree.OnCreateEditor gebeurtenis of dwingende TBaseVirtualTree.DoCreateEditor verschaffen. Dit maakt het mogelijk om knooppunt bewerken volledig te vervangen door eigen (bedrijfs) regels. Toepassingen en afstammelingen kunnen hun eigen sleepbeheerder interface te bieden door het hanteren van de TBaseVirtualTree.OnCreateDragManager evenement of dwingende TBaseVirtualTree.DoCreateDragManager. Dit maakt het mogelijk om de gehele afhandeling OLE slepen van de boom aan te passen. Opmerking:. VCL Drag'n druppel wordt beheerd door het VCL, zodat deze niet kan worden aangepast applicaties en nakomelingen kunnen zelf gegevensobject interface door het hanteren van de TBaseVirtualTree.OnCreateDataObject gebeurtenis of dwingende TBaseVirtualTree.DoCreateDataObject. Dit maakt het mogelijk om eigen klembord formaten. Er is een registratie functie (RegisterVTClipboardFormat), die het mogelijk maakt tot boom nakomelingen met eigen klembord en / of opslag formaten te registreren. Aanvragen kunnen eigen klembordformaten bieden (zonder het afleiden van nieuwe boom klassen) door het hanteren van de TBaseVirtualTree.GetUserClipboardFormats evenement. Toepassingen en afstammelingen kan volledig key handling van de boom aan te passen door het hanteren van de TBaseVirtualTree.OnKeyAction evenement of dwingende TBaseVirtualTree.DoKeyAction. Dit werkt ook voor incrementele zoeken. Toepassingen en afstammelingen kunnen de achtergrond van de boom, die niet wordt gedekt door de knooppunten aan te passen, door het hanteren van de TBaseVirtualTree.OnPaintbackground evenement of dwingende TBaseVirtualTree.DoPaintbackground. Voor knooppunten er verdere gebeurtenissen voorbeeld. Toepassingen en afstammelingen kunt aanpassen hoe de string boom verkort te lang bijschriften door het hanteren van de TCustomVirtualStringTree.OnShortenString evenement of dwingende TCustomVirtualStringTree.DoShortenString. Schuiven: Flat schuifbalken worden ondersteund. maar omdat ze in strijd zijn met Windows XP deze ondersteuning wordt uitgeschakeld door een compiler symbool (UseFlatScrollbars). Schakel dit symbool als je echt wilt flat schuifbalken gebruiken voor het opstellen van de boom unit. Elke verplaatsingsverrichting triggers een TBaseVirtualTree.OnScroll evenement. Dit maakt het mogelijk om te synchroniseren bomen met andere bedieningselementen. Er zijn eigenschappen (bijvoorbeeld TBaseVirtualTree.OffsetXY) waarmee de boom inhoud naar een positie in de code te gaan zonder het verzenden van berichten kantelen. Wiel panning en bladeren wordt ondersteund. Dat wil zeggen, bij het klikken met de muis wiel of knop ingedrukt te houden terwijl u de muis over het venster boom scroll soepel. Streaming: Geavanceerde boom inhoud serialisatie geïmplementeerd om opslaan en laden een boom naar / van streams. Hieronder vallen ook gebruikersgegevens zolang kan worden weggeschreven naar een stroom. Virtual Treeview maakt het ook mogelijk om gegevens van stroom in plaats vervangen van de gehele inhoud toe te voegen. De interne indeling van de stroom is brok gebaseerd, waardoor het zeer flexibel voor toekomstige uitbreidingen maakt, maar houdt nog steeds de compatibiliteit met oudere implementaties. Er is een gebruiker chunk waarin de gegevens op de stroom in de TBaseVirtualTree.OnSaveNode gebeurtenis. De gegevens van deze gebruiker chunk is te lezen in TBaseVirtualTree.OnLoadNode. Developer support: Speciale aandacht is besteed aan de broncode van Virtual Treeview consequent op te maken. Een groot deel van de volledige uitvoering zijn opmerkingen bij de werking te beschrijven. Werkwijzen en eigenschappen moeten derhalve alfabetisch binnen hun bereik (private, protected openbaar gepubliceerd). De enige uitzondering zijn de constructeurs en destructors die altijd verschijnen aan de bovenkant van het openbare deel in de klasse verklaring en zijn altijd de eerste methoden in de klasse implementatie. Voor elk geval door virtuele methode die de event handler oproepen. Dit maakt het mogelijk nakomelingen te merken van elk evenement te krijgen zonder het toewijzen van een handler. De namen van deze methoden stroken direct naar gebeurtenissen met de patroon. DoEventName Veel maatregelen zijn genomen om ervoor te zorgen Borland C ++ Builder compatibiliteit. Dit is bijzonder moeilijk omdat de automatische vertaling van Delphi C ++ code BCB bevat fouten. Er is een gemakkelijke en krachtige mechanisme voor het nageslacht schrijvers om hun eigen gegevens wijzen op een per node basis. Bel gewoon TBaseVirtualTree.AllocateInternalData aan uw behoeften te registreren. Dit zal niet bestaande of toekomstige applicatiecode beïnvloeden als het daarom gaat TBaseVirtualTree.GetNodeData voor de toegang van gebruikersgegevens. Bewerken: Toepassing gedefinieerde editors ondersteund door een bewerking linkinterface. Een generieke (non-Unicode) implementatie editor is ook beschikbaar. Alle kolommen van de boom kan worden bewerkt indien ingeschakeld (zie TCustomVirtualTreeOptions.SelectionOptions.toExtendedFocus). Utilities: Voor uw gemak een aantal van de intern gebruikte functies die van algemeen belang zijn blootgesteld. AlphaBlend: a. Algemene procedure om een bron te mengen op een doelgedeelte bitmap verscheidene verschillende modi DrawTextW: een gedeeltelijke uitvoering van de DrawText API die Unicode ondersteunt. Deze werkwijze heeft slechts een stomp Windows 95/98 / Me. ShortenString: een algemene functie waardoor een bepaalde WideString past in een bepaalde ruimte. Dit wordt gedeeltelijk uitgevoerd door Windows API DrawText maar neemt bovendien zorgen voor rechts naar links uitlijning en werkt met Unicode ook Windows 95/98 / ME.


Virtuele TreeView Gerelateerde software

Unidac

UNIDAC is een krachtige bibliotheek met niet-functionele Cross-database-toegangscomponenten voor Delphi, Delphi voor .NET en C ++ Builder. De Unified Access is beschikbaar voor Oracle, Microsoft SQL Server, MySQL, in ...

107 7099K

Downloaden