Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wizards & Builders GmbH Ansteuerung von Treeview Die Ansteuerung des MS Treeview-Controls unter Microsoft Visual FoxPro.

Ähnliche Präsentationen


Präsentation zum Thema: "Wizards & Builders GmbH Ansteuerung von Treeview Die Ansteuerung des MS Treeview-Controls unter Microsoft Visual FoxPro."—  Präsentation transkript:

1 Wizards & Builders GmbH Ansteuerung von Treeview Die Ansteuerung des MS Treeview-Controls unter Microsoft Visual FoxPro

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

3 Wizards & Builders GmbH Themenübersicht Treeview-Control Treeview-Control Nodes Nodes Images Images LoadTree LoadTree LoadNodes LoadNodes Konfiguration, interner Cursor Konfiguration, interner Cursor Events, Images Events, Images Metadatenstruktur Metadatenstruktur Aufrufreihenfolge Aufrufreihenfolge Sonstige Hinweise Sonstige Hinweise

4 Wizards & Builders GmbH Grundaufbau Treeview Die Komponenten des Treeview-Controls unter Microsoft Visual FoxPro

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

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

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

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

9 Wizards & Builders GmbH ImageList-Control Eigenschaften: BackColor BackColor MaskColor MaskColor ImageHeigth / Width ImageHeigth / Width ListImages ListImages Index Index Name NameEigenschaften: Tag Tag Object Object Parent ParentMethoden: Overlay Overlay

10 Wizards & Builders GmbH Einfaches Treeview-Beispiel Einfaches Beispiel zur Treeview-Ansteuerung für Microsoft Visual FoxPro

11 Wizards & Builders GmbH LoadTree Buch: Rod Paddock, ACTIVEX.VCX Buch: Rod Paddock, ACTIVEX.VCX (Code auch in Notizen zu den Slides) (Code auch in Notizen zu den Slides) Parameter: Key, Parent Key, Description Parameter: Key, Parent Key, Description This.Nodes.Add( ) This.Nodes.Add( ) ggf. This.LoadNodes( ) ggf. This.LoadNodes( ) eigene Funktion eigene Funktion

12 Wizards & Builders GmbH LoadNode Parameter: DBF, Key, ParentOrder Parameter: DBF, Key, ParentOrder SCAN-Schleife über Child SCAN-Schleife über Child Node addieren Node addieren Recno merken (!) Recno merken (!) Falls Subchilds: Rekursiver Aufruf Falls Subchilds: Rekursiver Aufruf Recno wiederherstellen Recno wiederherstellen

13 Wizards & Builders GmbH Treeview-Klassenbibliothek Beispiel für eine Wrapper-Klasse um das Treeview-Control unter Microsoft Visual FoxPro

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

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

16 Wizards & Builders GmbH Metadatensteuerung Beispiel für eine Metadatensteuerung für das Treeview-Control unter Microsoft Visual FoxPro

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

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

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

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

21 Wizards & Builders GmbH Programmierung Treeview Programmierung einer Meta- datensteuerung für Treeviews unter Microsoft Visual FoxPro

22 Wizards & Builders GmbH Initialisierung Metadaten LoadTreeviewMetaData LoadTreeviewMetaData OpenTreeviewStrTables OpenTreeviewStrTables OpenTable OpenTable LoadClassLibsFromModules LoadClassLibsFromModules AddLevel AddLevel

23 Wizards & Builders GmbH Neue Ebene anlegen AddLevel AddLevel AddLeveltoTreeview AddLeveltoTreeview AddManager AddManager SetManager SetManager AddPageFrame AddPageFrame AddPage AddPage

24 Wizards & Builders GmbH Navigieren im Treeview NavigInTable NavigInTable SetManager SetManager NavigInAllPages NavigInAllPages NavigInPage NavigInPage NavigInTable NavigInTable

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

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

27 Wizards & Builders GmbH Sonstige Hinweise Sonstige Hinweise zum Einsatz des Treeview-Controls unter Microsoft Visual FoxPro

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

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

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

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

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

33 Wizards & Builders GmbH Wenn Fragen bestehen: Wizards & Builders Methodische Software- Entwicklung GmbH Frankfurter Str. 21b Kronberg Tel.: Fax: CIS: ,175


Herunterladen ppt "Wizards & Builders GmbH Ansteuerung von Treeview Die Ansteuerung des MS Treeview-Controls unter Microsoft Visual FoxPro."

Ähnliche Präsentationen


Google-Anzeigen