1 / 36

List/Comboboxen

List/Comboboxen. Programmierung von List- und Comboxen mit Microsoft Visual FoxPro. Diese Schulung dient der Einführung in das Arbeiten mit List- und Comboxen unter Microsoft Visual FoxPro. Themenübersicht. Grundlagen Unterschiede zwischen List-/ Comboboxen Ereignisse

kagami
Download Presentation

List/Comboboxen

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. List/Comboboxen Programmierung von List- und Comboxen mitMicrosoft Visual FoxPro

  2. Diese Schulung dient der Einführung in das Arbeiten mit List- und Comboxen unterMicrosoft Visual FoxPro

  3. Themenübersicht • Grundlagen • Unterschiede zwischen List-/ Comboboxen • Ereignisse • Click, DblClick, InteractiveChange, Valid, When • Zugriff auf Einträge • Diverse Sonderfälle

  4. Grundlagen Grundlagen von List- und Comboboxen unterMicrosoft Visual FoxPro

  5. List- und ComboBoxen • List- und ComboBoxen finden Verwendung zur Darstellung multipler Inhalte • Sie sind verwendbar als • "Auskunfts"-Control • "Auswahl"-Control • "auslösendes" Control

  6. VFP-deutsch: Listenfeld Kombinationsfeld Datenfeld ElementNr Index Eigenschaft VFP-Englisch: ListBox ComboBox Array ItemId Index Property Begriffs-Vereinbarungen

  7. Neuigkeiten in VFP • teilweise objektorientierter Ansatz • Gleichwertigkeit von List- und ComboBox • neue Datenquellen • Mehrspaltigkeit • Einbeziehen von BMPs

  8. OOP mit List-/ComboBoxen • Können wie alle anderen VFP-Controls als Objekte behandelt werden. • Sind keine Container, d.h. sie sind nicht in weitere Unterobjekte gegliedert! • Gleichwertigkeit bzgl. Datenquellen und aller Neuerungen

  9. Unterschiede Unterschiede zwischen List- und Comboboxen unter Microsoft Visual FoxPro

  10. Unterschiede • ...resultierend aus der Funktionalität (sichtbar in differierenden Events/Props) • ...bzgl. des Event-Verhaltens! • außerdem bei ComboBox: • Unterschiede zwischen einer TextBox und dem Eingabebereich einer ComboBox

  11. Funktionalitätsunterschiede • resultierend aus der Bedienung • MoverBars und MultiSelect nur bei der ListBox • Text-Editier-Möglichkeiten nur bei ComboBox (Style 0)

  12. Properties/Events ComboBox • Alignment SelectedForeColor • BackColor SelLength • ForeColor SelStart • Margin SelText • SelectedBackColor Style • alle notwendig für den Eingabebereich • DropDown-Event • reagiert auf das "Ausklappen"

  13. Spezielle Properties ListBox • MoverBars • MultiSelect

  14. Ereignisse Wichtige Ereignisse in Combo/Listboxen unter Microsoft Visual FoxPro

  15. Wichtige Events • Click • DblClick • InteractiveChange • Valid • When

  16. Click-Event • wird aktiviert • bei Mausclick • beim tastaturgesteuerten "Wandern" in einer Listbox mit den -Tasten • (nicht dagegen bei HOME, END, PgUp, PgDn!) • beim "ENTER"-Drücken in aufgeklappter ComboBox • wird nicht aktiviert: • bei Klick in den ScrollBar • bei Klick in nicht belegte Teile einer Listbox • wird doppelt(!) aktiviert • (in bestimmten Konstellationen)

  17. DblClick-Event • wird aktiviert • bei Maus-Doppelclick • beim "ENTER"-Drücken in einer ListBoxACHTUNG! Bei TabStop = .T. verliert die ListBox in diesem Fall den Eingabefocus! • wird nicht aktiviert: • in der ComboBoxAusnahme: Doppelclick im Eingabebereich bei Style 0 • bei Klick in nicht belegte Teile einer Listbox • wird doppelt(!) aktiviert • (in bestimmten Konstellationen)

  18. InteractiveChange-Event • wird aktiviert, wenn ein anderer als der gerade aktive Eintrag zum aktuellen Eintrag gemacht wird • durch Mausclick auf einen anderen als den aktiven Eintrag • durch Tastatur-Navigation • wird nicht aktiviert: • bei Klick in den ScrollBar • bei Klick in nicht belegte Teile einer Listbox • bei MultiSelect = .T. muß der aktuelle Eintrag kein selektierter Eintrag sein!

  19. Valid-Event • wird aktiviert: • bei Mausclick (Auswahlliste der ComboBox) • bei Maus-Doppelclick (ListBox) • beim "ENTER"-Drücken (List-/ComboBox; die ListBox und eine nicht aufgeklappte ComboBox verliert bei TabStop=.T. in diesem Fall den Focus!) • wird nicht aktiviert: • bei Mausclick in ListBox • bei Tastatur-Navigation in aufgeklappter ComboBox

  20. When-Event • wird aktiviert: • beim Aktivieren einer List- oder ComboBox • als letzter Event bei Mausklick oder Tastatur-Navigation in der ListBox (außer bei Mausclick auf den aktiven Eintrag!) • als letzter Event bei Mausklick oder "ENTER"-Drücken in der aufgeklappten ComboBox • beim "ENTER"-Drücken (ListBox und nicht aufgeklappte ComboBox bei TabStop=.F.)

  21. Zugriff auf Einträge Werzuweisung und Zugriff auf Einträge in Combo/Listboxen

  22. ControlSource • bestimmt die Variable oder das Datenbankfeld, welches den "Zustand" des Listenfeldes verwaltet (d.h. auf welchem Eintrag befindet sich augenblicklich der Listbox-/ ComboBox-Cursor) • Datentyp "C" oder "N" • definiert nicht(!) die in List-/ ComboBox anzuzeigenden Einträge!

  23. verwandte Properties • ListIndex (Datentyp "N") • Nummer des aktuellen Eintrags (bezogen auf die optische Reihenfolge der Einträge) • ListItemId (Datentyp "N") • eindeutige Identifikationsnummer (unabhängig von der optischen Reihenfolge) • DisplayValue (Datentyp "N" oder "C") • Inhalt der ersten Spalte bzw. bei ComboBox mit Style 0 Inhalt des Eingabebereiches • Value (Datentyp "N" oder "C") • aktueller Eintrag

  24. Zugriff auf die Einträge (1) • über den "Index" • aktuelle Position des jeweiligen Eintrags bezogen auf die optische Anordnungsfolge • über die "ItemId" • eine eindeutige, von der optischen Position unabhängige Identifikation • ACHTUNG! Bestimmte Methoden bzw. Properties funktionieren entweder nur mit "Index" oder nur mit "ItemId"!

  25. Index-Zugriff: arbeitet mit "Index“ AddItem IndexToItem ItemData List ListIndex NewIndex Picture RemoveItem Selected TopIndex ID-Zugriff: arbeitet mit "ItemId" AddListItem M ItemToIndex M ItemIdData PA ListItem PA ListItemId P NewItemId P <keine Entsprechung> PA RemoveListItem M SelectedId PA TopItemId P Zugriff auf Einträge (2)

  26. Index-Zugriff: arbeitet mit "Index" ItemData List Picture Selected ID-Zugriff: arbeitet mit "ItemId" ItemIdData ListItem <keine Entsprechung> SelectedId Zugriff auf Einträge (3) • Die vorstehenden Properties beinhalten array-ähnliche Strukturen, auf die als Subskript mit dem gewünschten "Index" bzw. der gewünschten "ItemId" zugegriffen werden kann. • Auf diese Properties kann nicht(!) mit VFP-Array-Befehlen zugegriffen werden!

  27. Daten-Quellen • 0 - keine • 1 - explizit angegebene Einträge • 2 - Alias • 3 - SQL-Statement • 4 - Query • 5 - Array • 6 - Feldliste • 7 - Dateien • 8 - DBF-Struktur • (9 - Popup)

  28. Divsere Sonderfälle Mehrere Spalten, Mehrfach-auswahl, Sortieren, Mover, BitMaps in Combo/Listbox

  29. Properties für mehrspaltigeBoxen • BoundColumn • ColumnCount • ColumnLines • ColumnWidths • DisplayValue • RowSource • RowSourceType

  30. Mehrfachauswahl ListBox • MultiSelect = .T. • funktioniert bei allen RowSourceTypes • Selected und SelectId geben Auskunft darüber, ob ein Eintrag selektiert ist • ListIndex, ListItemId, Value, DisplayValue und ControlSource geben keine(!) Auskunft darüber, ob ein Eintrag selektiert ist

  31. "MoverBars" und "Sorted" in der ListBox • nur zugelassen bei RowSourceType 0 und 1 • bei MoverBars = .T. kann die ListBox per Maus umsortiert werden • Sorted = .T. führt zum alphabetisch sortierten Anzeigen der Listbox(MACHINE-Sortierung ohne Berücksichtigung von CodePage und Collate-Sequenz!)

  32. "Sorted" in der ListBox • bewirkt ein sortiertes Erscheinen der ListBox beim Aufbau • die Sortierung kann durch MoverBars bzw. explizites Hinzufügen von Einträgen mit AddItem/AddListItem gestört werden (obwohl Sorted = .T. bestehen bleibt) • eine erneute Zuweisung "Sorted = .T." bewirkt ein neuerliches Sortieren

  33. BMPs in List-/ComboBox • PICTURE( ListIndex ) = "xyz.bmp" bewirkt die Anzeige der entsprechenden Bitmap links neben der ersten Spalte einer List-/ComboBox • bei der ComboBox werden die BMPs nur in der aufgeklappten Liste angezeigt • fehlende BMPs erzeugen keinen Fehler • GENERAL-Felder können im Widerspruch zur Dokumentation nicht(!) verwendet werden

  34. Was ist zu beachten? • List-/Comboboxen sehr leistungsfähig • Zugriff über ID oder Index sehr aufwendig • Builder verfügbar • Bitmapproblem

  35. Vielen Dank! Das waren die Themen: • Grundlagen • Unterschiede zwischen List-/ Comboboxen • Ereignisse • Zugriff auf Einträge • Diverse Sonderfälle

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