Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierung von List- und Comboxen mit Microsoft Visual FoxPro

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierung von List- und Comboxen mit Microsoft Visual FoxPro"—  Präsentation transkript:

1 Programmierung von List- und Comboxen mit Microsoft Visual FoxPro
List/Comboboxen Programmierung von List- und Comboxen mit Microsoft Visual FoxPro

2 Diese Schulung dient der Einführung in das Arbeiten mit List- und Comboxen unter Microsoft 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 von List- und Comboboxen unter Microsoft 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 Begriffs-Vereinbarungen
VFP-deutsch: Listenfeld Kombinationsfeld Datenfeld ElementNr Index Eigenschaft VFP-Englisch: ListBox ComboBox Array ItemId Index Property

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 Wichtige Ereignisse in Combo/Listboxen unter Microsoft Visual FoxPro

15 Wichtige Events Click DblClick InteractiveChange Valid When

16 Click-Event wird aktiviert wird nicht 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 wird nicht aktiviert:
bei Maus-Doppelclick beim "ENTER"-Drücken in einer ListBox ACHTUNG! Bei TabStop = .T. verliert die ListBox in diesem Fall den Eingabefocus! wird nicht aktiviert: in der ComboBox Ausnahme: 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: wird nicht 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 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 Zugriff auf Einträge (2)
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

26 Zugriff auf Einträge (3)
Index-Zugriff: arbeitet mit "Index" ItemData List Picture Selected ID-Zugriff: arbeitet mit "ItemId" ItemIdData ListItem <keine Entsprechung> SelectedId 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! Grundlagen Unterschiede zwischen List-/ Comboboxen
Das waren die Themen: Grundlagen Unterschiede zwischen List-/ Comboboxen Ereignisse Zugriff auf Einträge Diverse Sonderfälle

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


Herunterladen ppt "Programmierung von List- und Comboxen mit Microsoft Visual FoxPro"

Ähnliche Präsentationen


Google-Anzeigen