1 / 33

Ansteuerung von Treeview

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.

halen
Download Presentation

Ansteuerung von Treeview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ansteuerung von Treeview Die Ansteuerung desMS Treeview-Controls unterMicrosoft Visual FoxPro

  2. 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. Themenübersicht • Treeview-Control • Nodes • Images • LoadTree • LoadNodes • Konfiguration, interner Cursor • Events, Images • Metadatenstruktur • Aufrufreihenfolge • Sonstige Hinweise

  4. Grundaufbau Treeview Die Komponenten des Treeview-Controls unterMicrosoft Visual FoxPro

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

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

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

  8. 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) Nodes-Control

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

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

  11. 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

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

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

  14. 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)

  15. 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

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

  17. 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

  18. 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)

  19. 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)

  20. 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)

  21. Programmierung Treeview Programmierung einer Meta-datensteuerung für Treeviews unterMicrosoft Visual FoxPro

  22. Initialisierung Metadaten • LoadTreeviewMetaData • OpenTreeviewStrTables • OpenTable • LoadClassLibsFromModules • AddLevel

  23. Neue Ebene anlegen • AddLevel • AddLeveltoTreeview • AddManager • SetManager • AddPageFrame • AddPage

  24. Navigieren im Treeview • NavigInTable • SetManager • NavigInAllPages • NavigInPage • NavigInTable

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

  26. 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

  27. Sonstige Hinweise Sonstige Hinweise zum Einsatz des Treeview-Controls unterMicrosoft Visual FoxPro

  28. 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)

  29. 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

  30. 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

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

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

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

More Related