Virtual TreeView.

Questo controllo utilizza un paradigma diverso per la gestione degli alberi rispetto ad altri controlli di questo tipo
Scarica ora

Virtual TreeView. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • LGPL
  • Nome editore:
  • Mike Lischke
  • Sistemi operativi:
  • Windows All
  • Dimensione del file:
  • 707 KB

Virtual TreeView. Tag


Virtual TreeView. Descrizione

Il Salone Virtuale Treeview stato progettato per essere un controllo TreeView costruita da zero. Più di 5 anni di sviluppo ha reso uno dei maggior parte dei controlli degli alberi flessibili e avanzati oggi disponibili. Virtuale Treeview inizia con la pretesa di migliorare molti aspetti delle soluzioni esistenti e introduce alcune nuove tecnologie e principi che non erano disponibili prima. Come indica il nome già, questo controllo utilizza un diverso paradigma per la gestione dell'albero di altri controlli di questo tipo. E non sa nulla circa i dati che gestisce (tranne le sue dimensioni), nemmeno le didascalie di un nodo. Tutto viene recuperato dall'applicazione tramite eventi (o discendenti tramite i metodi sostituiti). Virtuale Treeview è stato accuratamente progettato e accuratamente testato. Il controllo ha dimostrato il suo concetto così come idoneità di tutti i giorni già in molti prodotti commerciali e progetti del freeware. Caratteristiche principali: Generale: Treeview virtuale come proprietà documento editorVirtual TreeView è estremamente veloce. L'aggiunta di un milione di nodi richiede solo 700 millisecondi *! Questo lo rende attualmente la vista ad albero più veloce disponibile al pubblico sul / mercato Delphi BCB. virtuale Treeview ha una piccola stampa del piede di memoria. , semplicemente allocando circa 60 byte per nodo (nell'albero stringa, l'albero di base utilizza solo 56 byte) è ben preparato per contenere un milione. virtuale Treeview è ottimizzato per l'accesso ad alta velocità. Ci vogliono da un minimo di 0,5 secondi per attraversare un milione di nodi * a seconda necessari di validazione e di nodo stati di convalida. Multiselezione è supportato, compresa la selezione vincolata in modo che solo i nodi di un certo livello iniziale possono essere selezionati. Un grande sforzo è stato messo nello sviluppo di algoritmi efficaci per esempio per consentire la modifica di un grande gruppo di selezione già ancora interattivo. Disegnare l'intero albero di bitmap o la stampante è supportata dal metodo TBaseVirtualTree.PaintTree centrale. I messaggi WM_PRINT e WM_PRINTCLIENT corretta manipolazione che consentono cose come disegnare un albero in un bitmap (per esempio per finestre sovrapposte o attuare goccia animata giù di controlli che utilizzano come VT discesa controllo). C'è un evento TBaseVirtualTree.OnHint a specifiche note nodo display. C'è un evento TBaseVirtualTree.OnGetHelpContext per recuperare gli ID di aiuto di contesto nodo specifico. Questo include albero automatica e controllo padre finestra traversata viene richiamato quando l'utente preme F1 C'è un evento TBaseVirtualTree.OnGetPopupMenu per recuperare menu popup nodo specifico, include Traversal automatico albero. pulsanti destro del mouse Medio e possono essere utilizzati in aggiunta al pulsante e il supporto tutto a sinistra che è possibile con il tasto sinistro (trascinamento, selezione, ecc). Questi pulsanti alternative possono essere commutati, naturalmente. Un'immagine di sfondo fisso può essere utilizzato nella struttura e può essere dato un certo offset, ad esempio per simulare sfondi condivisi. è supportato Stile caldo per i nodi (come i link in una finestra del browser). Un cursore speciale può essere assegnato per questo compito. alberi cordicella di sostegno cosiddetto testo statico che appare dopo didascalia di un nodo (in ogni colonna) e che possono essere formattati in modo diverso per la didascalia, ma non possono essere modificati, selezionati ecc. Una modalità di estensione colonna automatica è supportato che consente una colonna a prendere più spazio per la sua voce se vi sono vuoti colonne alla sua destra. Questo evita di ritaglio di lunghe didascalie, ma ancora permette di utilizzare più colonne. Un nodo può essere selezionato in ogni colonna (questo è commutabile) così come modificata, rendendo virtuale Treeview una sorta di griglia troppo. Il tasto tabulatore può essere utilizzato per commutare lo stato attivo tra le cellule. Un'opzione speciale (toGridExtensions) esistono per compiti specifici della rete di sostegno. nodi possono avere singoli altezze e l'allineamento verticale delle immagini e linee di un nodo può essere regolata individualmente. virtuale Treeview espone i suoi stati interni, come in attesa di trascinamento o modificare gli eventi, più di selezione o di espansione in corso. Utilizzando queste informazioni un'applicazione può ottimizzare la sua esecuzione di codice (stato di aggiornamenti, ecc.). ordinamento di un nodo è supportato tramite un'applicazione definita confronta indietro chiamata. Inoltre, un albero può essere impostata su ordinamento automatico. I consigli possono contenere più righe di testo e specchio l'allineamento e la direzionalità del nodo o colonna vengono visualizzati per. Per loro animazione scorrimento ed alpha blending è disponibile. Anche la ricerca incrementale con varie opzioni e indicazioni è disponibile. Lo scorrimento automatico dell'area client avviene quando il mouse è vicino ai bordi durante il trascinamento e la selezione della selezione (selezione multipla). . TBASEVirtualTree.DefaultNodeheight e TVirtualStringTree.DefaultText può essere utilizzato per evitare di impostare molti nodi esplicitamente allo stesso valore di avvio. L'implementazione della colonna Virtual TreeView consente anche colonne fisse, rendendolo anche una buona sostituzione della griglia. Più nuove tecnologie: Per le animazioni fluide (ad esempio per il controllo del suggerimento) Virtual TreeView utilizza le routine dell'Assembler MMX ottimizzato a mano. Questo codice viene anche utilizzato per disegnare il rettangolo di selezione traslucido in modalità Multi Selection. Questo è molto simile a ciò che il supporto Windows 2000 e Windows XP ma funziona anche su Windows 95/98 / Me. Un'immagine alfa miscelata della finestra dell'albero è mostrata mentre si esegue il trascinamento. Sulle interfacce Windows 2000 e Windows XP IdropTargethetelper e Idragsourcehelper sono supportate le interfacce che consentono alcuni effetti molto puliti (come usato da Explorer). Sulle versioni di Windows dei consumatori più antiche, l'immagine di trascinamento è simulata dall'albero ma è alla base di alcune limitazioni minori. Virtual TreeView supporta i temi di Windows XP. Agisce correttamente sui cambiamenti del tema e usi per tutti gli elementi visivi che sono a tema l'immagine corretta utilizzando API native. Sotto gli altri sistemi Windows questi stili sono supportati da un codice legacy separato. La consapevolezza del tema può essere commutata. Unicode: TVirtualStringtree viene implementato utilizzando archivi / stringhe larghe esclusivamente. L'albero salva e legge tutte le proprietà dell'UNICODE (E.G. Didascalie di colonna, testo del nodo predefinito e simili) correttamente da / da DFM. . Tutto il disegno Unicode supporta completamente la bidirezionalità (cioè disegno a destra a sinistra), allineamento della colonna (sinistra, centro, destra) e suggerimenti correttamente allineati. Naturalmente anche questa funzione è disponibile su Windows 95/98 / Me. Drag'n Drop e Appunti Supporto: I trasferimenti di trascinamento del trascinamento e della goccia di Drop e OLE sono supportati con l'albero come fonte e bersaglio. In alternativa, VCL Drag'n Drop può ancora essere utilizzato per la compatibilità. Questi formati sono il supporto da parte dell'implementazione standard: Formato serializzato nativo (cf_virtualtree e cf_vtreference), che è un modulo compatto per scambiare dati tra Virtual TreeViews (anche tra applicazioni). Sono disponibili due formati di archiviazione: HGLOBAL e ISTREAM. Formato stringa di testo ANSI normale. Formato stringa di testo Unicode Plain. Rich Text (RTF) String Format Formato (con testo Unicode). Formato stringa testo HTML (UTF-8). Questo è il formato di clipboard preferito per Word 2000 ecc. E consentono il contenuto di copia e incolla a un documento Word con quasi nessun codice di applicazione. Esiste uno schema di registrazione (RegisterVtClipboardFormat) che consente ai discendenti di specificare e implementare i propri formati per appunti. Tramite un gestore di goccia L'applicazione può accettare qualsiasi formato OLE senza derivare una propria classe degli alberi. Per facilitare il trattamento dei metodi specializzati dei dati degli alberi nativi. Vedi anche: tbasevirtualtree.processoledata e tbasevirtualtree.processdrop. Dillmarks mostrano durante il drag'n Drop dove verranno inseriti i dati. Funziona anche con VCL Drag'n Drop. Il modello di target DROP è stato esteso per consentire le azioni di rilascio sopra, sotto o su un nodo. Nel frattempo i fornitori di altri controlli TreeView hanno iniziato a utilizzare questo piccolo ma potente anche un'idea. L'espansione automatica dei nodi che sono il bersaglio di caduta per più di un intervallo di tempo regolabile viene eseguito se abilitato. intestazione e colonne: Le colonne multiple sono supportate da una propria implementazione intestazione. Questo intestazione prende spazio nell'area non client del controllo dell'albero e supporta vari stili di pulsanti (pulsanti standard di listview spesso, pulsanti piatti, piastre, stile Windows XP e disegnare il proprietario). Le colonne possono apparire in ogni ordine nella finestra dell'albero. Ogni colonna può essere nascosta inclusa la colonna principale che tiene l'albero reale. Ogni colonna può diventare la colonna principale. Le colonne possono essere visualizzate anche senza l'intestazione Le colonne possono avere varie opzioni (visibili, cliccabili, ridimensionabili, trascinabili ecc.). È possibile impostare singoli allineamenti per ogni colonna e direzionalità destra a sinistra o sinistra a destra (ancora: disponibile anche su sistemi di consumo non medio-orientale e vecchi). Ogni colonna può avere un colore proprio. L'intestazione, nonche la classe colonne raccolta e le classi effettivi delle colonne supporta lo streaming. Questo è indipendente dal flusso vista ad albero. Controllare il supporto: Ciascun nodo dell'albero può avere un proprio tipo di controllo. Questa scatola può essere sia di controllo (anche tristate), pulsante o tasto nodo. Questi tipi possono essere liberamente misto così si può per esempio avere un nodo con 10 nodi di cui 5 comprendono un gruppo di pulsanti (dove solo uno di questi 5 nodi può essere controllato) e gli altri 5 nodi possono avere una casella di controllo (o nessun controllo digitare a tutti). (tri-state) le caselle di controllo misti con una corretta gestione per il controllo parziale di nodi figlio sono supportati (come spesso usato in programmi di installazione e di backup). automatico cambiamento di stato di moltiplicazione di tipo misto pulsante di controllo è possibile (se abilitato). Controllare gli eventi e gli eventi OnChecking oncheck sono forniti troppo. Per scopi speciali un piccolo bottone piatto può essere utilizzato, che è chiamato un pulsante nodo. 7 diversi tipi di immagini di controllo sono possibili. Oscure e di controllo della luce marchi, scuri e segni di graduazione di luce, immagini di controllo piatte, immagini di controllo stile di Windows XP e le immagini di controllo per applicazioni definite. Per una panoramica TBaseVirtualTree.CheckImageKind vedere la proprietà. tempo Design: virtuali proprietà e metodi del controllo TreeView sono registrati con le categorie Delphi (Delphi 5 e BCB 5 o superiore). Un editor di proprietà speciale per i formati di appunti è incluso, che consente una scelta semplice formato. Ciò è particolarmente importante dal momento che i formati di appunti disponibili devono essere date come stringhe ed è anche abbastanza comodo avere un elenco dei formati disponibili, anche se non sono ancora abilitati (per sapere ciò che può essere attivato). Personalizzazione: disegnare personalizzato e dipingere i cicli sono supportati tramite eventi di vernice (per l'intero albero e per ogni nodo). Oltre ai tipi controlla incorporati Immagine assegno una definita dall'utente può essere usato che è supportato da un elenco un'immagine separata (TBaseVirtualTree.CustomCheckImages). Ciascun pulsante nell'intestazione può essere disegnato individualmente. Tre stili differenti linee sono disponibili: linee tratteggiate, linee continue e linee di applicazione definito . Applicazioni e discendenti in grado di fornire il proprio editor di nodo (che non deve essere necessariamente un singolo controllo) gestendo l'evento TBaseVirtualTree.OnCreateEditor o sovrascrivendo TBaseVirtualTree.DoCreateEditor. Questo permette di sostituire completamente l'editing nodo da proprie regole (business). Applicazioni e discendenti in grado di fornire la propria interfaccia drag direttore gestendo l'evento TBaseVirtualTree.OnCreateDragManager o sovrascrivendo TBaseVirtualTree.DoCreateDragManager. Questo permette di personalizzare l'intera gestione OLE trascinamento dell'albero. Nota:. VCL goccia drag'n è gestito dal VCL quindi questo non può essere personalizzato Applicazioni e discendenti in grado di fornire la propria interfaccia oggetto dati gestendo l'evento TBaseVirtualTree.OnCreateDataObject o sovrascrivendo TBaseVirtualTree.DoCreateDataObject. Ciò consente di fornire propri formati degli Appunti. C'è una funzione di registrazione (RegisterVTClipboardFormat), che permette di registrare i discendenti albero con propria clipboard e / o formati di memorizzazione. Le applicazioni possono fornire propri formati di appunti (senza derivare nuove classi albero) gestendo l'evento TBaseVirtualTree.GetUserClipboardFormats. Applicazioni e discendenti possono modificare completamente la gestione chiave dell'albero gestendo l'evento TBaseVirtualTree.OnKeyAction o sovrascrivendo TBaseVirtualTree.DoKeyAction. Questo funziona anche per la ricerca incrementale. Applicazioni e discendenti possono personalizzare lo sfondo del albero che non è coperto da nodi, gestendo l'evento TBaseVirtualTree.OnPaintbackground o sovrascrivendo TBaseVirtualTree.DoPaintbackground. Per i nodi ci sono ulteriori eventi per la personalizzazione. Applicazioni e discendenti possono personalizzare come l'albero si accorcia stringa didascalie troppo a lungo per la gestione dell'evento TCustomVirtualStringTree.OnShortenString o sovrascrivendo TCustomVirtualStringTree.DoShortenString. scorrimento: Sono supportate piatte barre di scorrimento. ma dal momento che sono in conflitto con Windows XP questo supporto viene spento da un simbolo compilatore (UseFlatScrollbars). Attivare questo simbolo, se davvero si vuole utilizzare le barre di scorrimento piane prima di compilare l'unità albero. Ogni rotolo di funzionamento attiva un evento TBaseVirtualTree.OnScroll. Questo permette di alberi sincronizzazione con altri controlli. Ci sono proprietà (ad es. TBasevirtualtree.offsetXY) che consentono di scorrere il contenuto dell'albero a qualsiasi posizione in codice senza inviare messaggi in giro. Ruota Panning e lo scorrimento è supportata. Cioè, quando si fa clic sulla ruota del mouse o premendo e tenendolo mentre si sposta il mouse intorno alla finestra dell'albero è scorrere senza intoppi. Streaming: La serializzazione del contenuto ad albero sofisticata è stata implementata per consentire il risparmio e il ripristino di un albero da / verso flussi. Ciò include anche i dati dell'utente purché possa essere scritto su un flusso Virtual TreeView consente anche di aggiungere dati dal flusso che sostituisce invece l'intero contenuto. Il formato interno del flusso è in base a chiave che lo rende molto flessibile per i miglioramenti futuri, ma continua a mantenere la compatibilità con le vecchie implementazioni. C'è un blocco dell'utente che prende i dati scritti sul flusso nell'evento TBASEVirtualTree.ONSAVENODE. I dati di questo chunk utente possono essere letti in tbasevirtualtree.onloadnode. Supporto per sviluppatori: Assistenza speciale è stata presa per formattare il codice sorgente di Virtual TreeView in modo coerente. Gran parte dell'intera implementazione sono commenti che descrivono il funzionamento interno. I metodi e le proprietà sono di conseguenza ordinati in ordine alfabeticamente all'interno del loro ambito (privato, protetto, pubblico, pubblicato). L'unica eccezione sono i costruttori e i distruttori che appaiono sempre in cima alla sezione pubblica nella dichiarazione di classe e sono sempre i primi metodi nell'implementazione della classe Per ogni evento c'è un metodo virtuale che chiama il gestore di eventi. Ciò consente ai discendenti di avvisare ogni evento senza assegnare un gestore. I nomi di questi metodi corrispondono direttamente agli eventi utilizzando il modello: Doeventname. Sono state prese molte misure per garantire la compatibilità Borland C ++ Builder. Questo è particolarmente difficile perché la traduzione automatica da Delphi to c ++ Code in BCB è BUGGY. Esiste un meccanismo facile e potente per gli scrittori di discendenti per assegnare i propri dati su base per nodo. Basta chiamare tbasevirtualtree.allateinalaldata per registrare le tue esigenze. Ciò non influenzerà il codice dell'applicazione esistente o futuro se di conseguenza utilizza TBASEVirtualTree.GetNodeData per l'accesso ai dati dell'utente. Modifica: Gli editor definiti dell'applicazione sono supportati tramite un'interfaccia di modifica collegamento. È disponibile anche un'implementazione editor generica (non unicode). Ogni colonna nell'albero è modificabile se abilitata (vedere tcustomvirtualtreeoptions.selectionOptions.toExtendedFocus). Utilities: Per la vostra convenienza alcune delle funzioni utilizzate internamente che sono di interesse generale sono esposte. AlphaBlend:. Un procedimento generale per fondere una sorgente su un bitmap di destinazione utilizzando diverse modalità DrawTextW: un'attuazione parziale dell'API DrawText che supporta Unicode. Questo metodo ha solo uno stub su Windows 95/98 / Me. Accorciatrici: una funzione di scopo generale che rende un determinato idoneità a un determinato spazio. Ciò è parzialmente implementato dall'API di Windows DrawText ma prende anche cura l'allineamento a destra a sinistra e funziona con Unicode anche su Windows 95/98 / Me.


Virtual TreeView. Software correlato

TCAD per Borland Delphic ++ Builder

TCAD è un componente che ti aiuterà a scrivere applicazioni grafiche vettoriali. Le forme possono essere interagite con il mouse o il codice. È facile da usare, efficace e potente. Ti farà risparmiare tempo prezioso. n ...

268 2054K

Scarica

Tenhtwain.

Gestisce l'acquisizione dagli scanner (dispositivi) che sono compatibili TWAIN. Selezionando lo scanner desiderato e l'acquisizione di un'immagine è facile come il pensiero di esso :-) Non più problemi con la conversione DIB, un ...

210 390K

Scarica

Morello Easysystem.

Un'applicazione di esempio (inclusa la fonte completa) e una serie di componenti per aiutarti a saltare il prossimo progetto Delphi. Prima di digitare anche una riga di codice hai un'app Modelli con una riproduzione completa ...

155 117K

Scarica