Ansteuerung von Treeview

Slides:



Advertisements
Ähnliche Präsentationen
Typo3 Schulung.
Advertisements

Wizards & Builders GmbH Erstellen von Applikationen Erstellen von Datenbank- Applikationen unter Microsoft Visual FoxPro.
Rollen in Projekten Aufteilung von Rollen in Entwicklungsprojekten mit
Wizards & Builders GmbH Der Maskendesigner Design von Masken für Applikationen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Hypertext Markup Language Beschreibung von HTML als Vorbereitung für Webserver mit Microsoft Visual FoxPro.
Wizards & Builders GmbH ActiveX-Controls Verwendung und Einsatz von ActiveX-Controls unter Microsoft Visual FoxPro.
Wizards & Builders GmbH INI-Dateien und Registry Arbeiten mit der Registry von Windows NT / Windows 95 in Microsoft Visual FoxPro.
Wizards & Builders GmbH Der Berichtsgenerator Erstellen von und Arbeiten mit Berichten, Etiketten, Listen in Microsoft Visual FoxPro.
Erstellen von OLE-Servern
Wizards & Builders GmbH Fertigkomponenten Fertige Komponenten in Component Gallery und Solutions-Beispielen Microsoft Visual FoxPro.
Konfiguration / Set-Einstellungen
Integration AccountView
Wizards & Builders GmbH Schichtenarchitektur Multi-Tier-Applikationen mit Microsoft Visual FoxPro.
Datenmodellierung mit XCASE
Wizards & Builders GmbH Microsoft Titel Microsoft-Titel für Entwickler und Softwarehäuser.
Wizards & Builders GmbH Klassenbibliotheken Arbeiten mit Klassenbibliotheken in Microsoft Visual FoxPro.
Programmierung von List- und Comboxen mit Microsoft Visual FoxPro
Wizards & Builders GmbH Die Benutzeroberfläche Interaktives Arbeiten mit den Werkzeugen/Assistenten von Microsoft Visual FoxPro.
Wizards & Builders GmbH Projektmanager und SourceSafe Arbeiten mit dem Projektmanager von Microsoft Visual FoxPro.
Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Arbeiten mit CSV-Listen Arbeiten mit CSV-Listen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH OOP in der Praxis Die wichtigsten Befehle für OO-Programmierung mit Microsoft Visual FoxPro.
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Schulungsmaterial Material zu Programmierung und Datenbankhandling unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Tools, AddOns, Frameworks Nützliche Zusatzprodukte rund um Microsoft Visual FoxPro.
Wizards & Builders GmbH Distribution von Applikationen Distribution und Installation unter Microsoft Visual FoxPro.
Ausbildungsinhalte für „Fachinformatiker Anwendungsentwicklung“
Wizards & Builders GmbH Modularisierung von SW Modularisierung von Anwendungen mit Microsoft Visual FoxPro.
Handling und Erstellung von: DLL, EXE, COM, DCOM
List und Combo Boxen. © 1999 TMN-Systemberatung GmbH Grundsätzliches n List und Combo Boxen sind sich im Aufbau sehr ähnlich und wurden bzgl. Datenquellen.
OLE/ OLE-Automation mit VFP Einsatz von ActiveX Controls
Besonderheiten einzelner Steuerelemente in Visual FoxPro
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Neue DBF und DBC Befehle in Visual FoxPro
Visual FoxPro Objektorientierte Programmierung. © 1999 TMN-Systemberatung GmbH Grundbegriffe n Objekte n Eigenschaften n Methoden n Objektnamen n Klasse.
VFX Schnelle Anwendungs-entwicklung mit Visual FoxPro 9.0 und Visual Extend 9.0 deutschsprachige FoxPro User Group Uwe Habermann Microsoft Visual FoxPro.
Erstellen von WebServices mit Visual FoxPro 9.0
Einführung zur Roadshow zu Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow INTRO.
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
© 2004 INDISoftware GmbH, Hannover Verwalten von Optionen und Einstellungen in VFP-Anwendungen CeBIT-Regionaltreffen Andreas Flohr/Torsten Weggen.
VFX 9.0 Teil 2 Diverse Prototypen und Ideen für die Weiterentwicklung von VFX.
Visual Extend 9.5ff Most Wanted Features deutschsprachige FoxPro User Group Rainer Becker VFXWISH06.
Active Extend deutschsprachige FoxPro User Group Rainer Becker VFXAFX06.
Form Designer Programmierung von Forms. © 1999 TMN-Systemberatung GmbH Eigenschaften und das Eigenschafts Fenster n In Reitern nach Themen sortiert n.
Access & Assign Methoden in Visual FoxPro Zuweisungs- und Zugriffs-Methoden.
VFP Class Browser. © 1999 TMN-Systemberatung GmbH Einsatz des Class Browser n Managen von Klassen inklusive, ändern, umbenennen, löschen und umdefinieren.
Uwe Habermann VFX 10.0 Visual Extend Formularerstellung.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Uwe Habermann VFX 10.0 Visual Extend Anwendungsverteilung.
Uwe Habermann VFX 11.0 Profi Features Venelina Jordanova
Definition von Klassen Umgang mit Objekten. © 1999 TMN-Systemberatung GmbH Code Definition von Klassen n Alle visuellen Klassen können auch per Code definiert.
Uwe Habermann VFX 10.0 Visual Extend Features Revisited.
Visual Extend Kundeninstallation deutschsprachige FoxPro User Group Uwe Habermann VFX 26 D.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend Lokalisierung deutschsprachige FoxPro User Group Uwe Habermann VFX 24 D.
Visual Extend CTreeviewForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 11 D.
Visual Extend Parent/Child Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 17 D.
Uwe Habermann Venelina Jordanova Schreiben von Visual FoxPro Code in der Oberfläche.
Uwe Habermann Venelina Jordanova Wishlist Silverswitch.
Ruby Refactoring Plug-In für Eclipse
Project Hooks und _VFP Möglichkeiten. © 1999 TMN-Systemberatung GmbH Aufbau des Objekt Modells für Applications und Projects.
orgAnice Pi Schulung /13 Einführung in orgAnice Pi2.
TypoScript.
Visual Extend Neuheiten in der Version 16.0
 Präsentation transkript:

Ansteuerung von Treeview Die Ansteuerung des MS Treeview-Controls unter Microsoft Visual FoxPro

Diese Schulung dient der Einführung in die Ansteuerung von Treeview-Controls sowie der Darstellung einer Meta- datengesteuerten Treeview-Klasse unter Microsoft Visual FoxPro

Themenübersicht Treeview-Control Nodes Images LoadTree LoadNodes Konfiguration, interner Cursor Events, Images Metadatenstruktur Aufrufreihenfolge Sonstige Hinweise

Die Komponenten des Treeview-Controls unter Microsoft Visual FoxPro Grundaufbau Treeview Die Komponenten des Treeview-Controls unter Microsoft Visual FoxPro

Wo finde ich was? Treeview-Control in COMCTL32.DLL Hilfedatei unter COMCTL1.HLP oder CTRLREF.HLP Stichwort: Strukturansicht (Treeview) Beispiel unter ACTIVEX.VCX (Buch)

Treeview-Control (1) Eigenschaften: Eigenschaften: Visible, Enabled BorderStyle, LineStyle LabelEdit Scrollbars Height, Width, Top, Left Imagelist (!) Eigenschaften: Sorted Nodes (!)

Treeview-Control (2) Methoden: Ereignisse: Clear SetFocus GetVisible, HitTest StartLabelEdit Remove Refresh Ereignisse: Before/AfterLabel Edit Node/Click, DblClick Collapse, Expand DragDrop, DragOv MouseDo/Up/Move KeyDown/Up/Press Got/LostFocus

Nodes-Control Eigenschaften: Enabled, Visible Text Index, Key Expanded(Image) (Selected)(Image) Root Methoden: Add (relative, relationship, key, text, image, selectedimag) Clear CreateDragImage EnsureVisible Item (Index / Key ) Remove (dito)

ImageList-Control Eigenschaften: BackColor MaskColor ImageHeigth / Width ListImages Index Name Eigenschaften: Tag Object Parent Methoden: Overlay

Einfaches Treeview-Beispiel Einfaches Beispiel zur Treeview-Ansteuerung für Microsoft Visual FoxPro

LoadTree Buch: Rod Paddock, ACTIVEX.VCX (Code auch in „Notizen“ zu den Slides) Parameter: Key, Parent Key, Description This.Nodes.Add( ) ggf. This.LoadNodes( ) eigene Funktion *-- Method loadTree *-- This method receives a table with a minimum of three *-- fields: *-- 1) A primary key field *-- 2) A parent key field *-- 3) A description field. *-- The root nodes of the tree view are the fields where *-- primary key = parentkey. This function is passed the alias of the *-- table and then calles the loadnode function. Lparameters pcTable, pcParentOrder *-- Save the work area Local lnSelect lnSelect = Select() Select (pcTable) Scan For parentkey = primarykey This.Nodes.Add(,,"KEY" + &pcTable..primarykey, &pcTable..description) *-- If this is a parent then load the parent records. If Seek(&pcTable..primarykey,pcTable,pcParentOrder) This.LoadNode(pcTable, &pcTable..parentkey,pcParentOrder) Endif Endscan *-- Restore the work area Select (lnSelect)

LoadNode Parameter: DBF, Key, ParentOrder SCAN-Schleife über Child Node addieren Recno merken (!) Falls Subchilds: Rekursiver Aufruf Recno wiederherstellen *-- Method LoadNode Lparameters pcTable, pcKeyToLoad, pcParentOrder *-- Save the work area Local lnSelect, lnRecno, lnRecno2, lcPrimaryKey lnSelect = Select() lnRecno = Recno() Select (pcTable) Go Top Scan For parentkey = pcKeyToLoad lcPrimaryKey = &pcTable..primarykey If &pcTable..parentkey # lcPrimaryKey This.Nodes.Add("KEY" + pcKeyToLoad,4,"KEY" + lcPrimaryKey, &pcTable..description) *-- Save the record pointer prior to the child test lnRecno2 = Recno() *-- If this record is a parent then load its children If Seek(lcPrimaryKey,pcTable,pcParentOrder) This.LoadNode(pcTable, lcPrimarykey,pcParentOrder) Endif *-- Restore the record pointer If lnRecno2 # 0 Goto lnRecno2 Endscan *-- Restore the work area Select (lnSelect) If lnRecno # 0 Goto lnRecno

Treeview-Klassenbibliothek Beispiel für eine Wrapper-Klasse um das Treeview-Control unter Microsoft Visual FoxPro

Konfiguration, interner Cursor Konfigurationsmöglichkeit INI-Datei Verwendung von GetPrivateProfileString() Konfiguration der Metadatentabellen / Parameter Verwendung INCLUDE-Datei Konstanten/Funktionen in .h-Datei (genericname) Datenablage in internem Cursor Info-Funktion zum Auslesen Cursordaten schneller als FindItem (durch Treeview scannen)

Events, Images Herauslegung diverser Events Collapse, Expand Click, Doubleclick, Rightclick Achtung: Unterscheidung nur Mousedown mögl. Dynamisches Laden der Bitmaps Referenz auf object.listimages .Add( loadpicture( ) ) Achtung: Keine numerischen Schlüssel

Metadatensteuerung Beispiel für eine Metadatensteuerung für das Treeview-Control unter Microsoft Visual FoxPro

STR-Metadatei CID (Primärschlüssel) SORT (Sortierkennzeichen) CODE (externer Aufrufcode für Ebene) RECCNT (Satzzähler einblenden) NAME (Anzeigetext) VALID (Gültigkeitsschalter) Diverse Image-Felder IMAGE / IMAGEEXPAN / IMAGEKEY / ..KEYEX / COND

STRPAGE-Metadatei Allgemein CID (Primärschlüssel) CPARENTCID (Zuordnung zu STR) MODUL (Modulzuordnung für VCX-Laden) VALID (Gültigkeitsschalter) ENABLED (Element disabled dargestellt) VISIBLE (Element sichtbar dargestellt) READONLY (Element Readonly dargestellt)

STRPAGE-Metadatei (Sort 0) SORT (0 für Zuordnung zu STR) Diverse Tabellendaten CHILD, CHILDALIAS für Tabelle CHILDFK für Schlüssel FILTER, CTYP für Filter und SET KEY-Eingrenzung CAPTION / EVAL (Text in Treeview) MENUE (Kontextmenü für Treeview) CLASS / CLASSLIB (Managerklasse)

STRPAGE-Metadatei (Sort!=0) SORT (Reihenfolge der Reiter in Pageframe) Diverse Tabellendaten für Childtabelle CHILD, CHILDALIAS für Tabelle CHILDFK für Schlüssel FILTER, CTYP für Filter und SET KEY-Eingrenzung CAPTION / EVAL (Text für Reiter) MENUE (Shortcut-Menü in Reiter) CLASS / CLASSLIB (Container in Reiter)

Programmierung Treeview Programmierung einer Meta-datensteuerung für Treeviews unter Microsoft Visual FoxPro

Initialisierung Metadaten LoadTreeviewMetaData OpenTreeviewStrTables OpenTable LoadClassLibsFromModules AddLevel

Neue Ebene anlegen AddLevel AddLeveltoTreeview AddManager SetManager AddPageFrame AddPage

Navigieren im Treeview NavigInTable SetManager NavigInAllPages NavigInPage

Custom-Page-Klasse Custom Page-Klasse notwendig u.a. für folgende Methoden: Activate( ) RightClick( ) ggf. ShowWhatsThis( )

Komplexere Steuerungen Hierarchische Berechnungen sehr zeitaufwendig bei der Optimierung Bei komplexeren Treeviews Trennung zwischen Manager- und Zeilenobjekt Editor und Validier-Funktionen für Metadaten sinnvoll aber aufwendig

Sonstige Hinweise Sonstige Hinweise zum Einsatz des Treeview-Controls unter Microsoft Visual FoxPro

Performance beim Aufbau Kleiner Performance-Trick: treeview.Visible = .F. treeview.Top = treeview.Top + 9999 *-- Treeview mit Daten füllen treeview.Top = treeview.Top - 9999 treeview.Visible = .T. (erspart Refresh-Zeiten des Treeviews)

Problem bei neuerer Version COMCTL32.OCX ab 97 vergeßlich: TreeView.Init: this.object.ImageList = thisform.imagelist1.object ListView.Init: this.object.Icons = thisform.imagelist2.object this.object.SmallIcons = thisform.imagelist3.object Außerdem: nicht abwärtskompatibel

Weitere Ideen Wegschalten des Treeviews wie bei der neuen HTML-Hilfe von Visual FoxPro Schalter für verschiedene Breite des Treeview-Controls zum Platzsparen Multiple Instanzen von Masken mit/ohne Treeview-Control „Abreißbare“ Pages als Einzelmasken

Was ist zu beachten? Container um Treeview bauen Interner Cursor für Daten-verwaltung Events / Images Metadaten sehr leistungsfähig Neue Versionen!

Vielen Dank! Das waren die Themen: Treeview-Control Nodes Images LoadTree LoadNodes Konfiguration, interner Cursor Events, Images Metadatenstruktur Aufrufreihenfolge Programmierhinweise Sonstige Hinweise...

Wenn Fragen bestehen: Wizards & Builders Frankfurter Str. 21b Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175