wizards & builders gmbh list/comboboxen programmierung von list- und comboxen mit microsoft...
TRANSCRIPT
Wizards & Wizards & Builders GmbH Builders GmbH
List/ComboboxenList/Comboboxen
Programmierung von List- Programmierung von List- und Comboxen mitund Comboxen mit
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Diese Schulung dient der Einführung in das Arbeiten mit
List- und Comboxen unterMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
ThemenübersichtThemenübersicht
GrundlagenGrundlagenUnterschiede zwischen List-/ Unterschiede zwischen List-/ ComboboxenComboboxen
EreignisseEreignisse Click, DblClick, InteractiveChange, Click, DblClick, InteractiveChange,
Valid, WhenValid, When
Zugriff auf EinträgeZugriff auf EinträgeDiverse SonderfälleDiverse Sonderfälle
Wizards & Wizards & Builders GmbH Builders GmbH
GrundlagenGrundlagen
Grundlagen von List- und Grundlagen von List- und Comboboxen unterComboboxen unter
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
List- und ComboBoxenList- und ComboBoxen
List- und ComboBoxen finden List- und ComboBoxen finden Verwendung zur Darstellung Verwendung zur Darstellung multipler Inhaltemultipler Inhalte
Sie sind verwendbar alsSie sind verwendbar als "Auskunfts"-Control"Auskunfts"-Control "Auswahl"-Control"Auswahl"-Control "auslösendes" Control"auslösendes" Control
Wizards & Wizards & Builders GmbH Builders GmbH
Begriffs-VereinbarungenBegriffs-Vereinbarungen
VFP-deutsch:VFP-deutsch:
ListenfeldListenfeld KombinationsfeldKombinationsfeld DatenfeldDatenfeld ElementNrElementNr IndexIndex EigenschaftEigenschaft
VFP-Englisch:VFP-Englisch:
ListBoxListBox ComboBoxComboBox ArrayArray ItemIdItemId IndexIndex PropertyProperty
Wizards & Wizards & Builders GmbH Builders GmbH
Neuigkeiten in VFPNeuigkeiten in VFP
teilweise objektorientierter teilweise objektorientierter AnsatzAnsatz
Gleichwertigkeit von List- und Gleichwertigkeit von List- und ComboBoxComboBox
neue Datenquellenneue Datenquellen MehrspaltigkeitMehrspaltigkeit Einbeziehen von BMPsEinbeziehen von BMPs
Wizards & Wizards & Builders GmbH Builders GmbH
OOP mit OOP mit List-/ComboBoxenList-/ComboBoxen
Können wie alle anderen VFP-Können wie alle anderen VFP-Controls als Objekte behandelt Controls als Objekte behandelt werden.werden.
Sind keine Container, d.h. sie sind Sind keine Container, d.h. sie sind nicht in weitere Unterobjekte nicht in weitere Unterobjekte gegliedert!gegliedert!
Gleichwertigkeit bzgl. Gleichwertigkeit bzgl. Datenquellen und aller NeuerungenDatenquellen und aller Neuerungen
Wizards & Wizards & Builders GmbH Builders GmbH
UnterschiedeUnterschiede
Unterschiede zwischen Unterschiede zwischen List- und Comboboxen List- und Comboboxen
unter unter Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
UnterschiedeUnterschiede
...resultierend aus der ...resultierend aus der Funktionalität (sichtbar in Funktionalität (sichtbar in differierenden Events/Props)differierenden Events/Props)
...bzgl. des Event-Verhaltens!...bzgl. des Event-Verhaltens! außerdem bei ComboBox:außerdem bei ComboBox:
Unterschiede zwischen einer TextBox Unterschiede zwischen einer TextBox und dem Eingabebereich einer und dem Eingabebereich einer ComboBoxComboBox
Wizards & Wizards & Builders GmbH Builders GmbH
FunktionalitätsunterschieFunktionalitätsunterschiedede
resultierend aus der resultierend aus der BedienungBedienung
MoverBars und MultiSelect nur MoverBars und MultiSelect nur bei der ListBoxbei der ListBox
Text-Editier-Möglichkeiten nur Text-Editier-Möglichkeiten nur bei ComboBox (Style 0)bei ComboBox (Style 0)
Wizards & Wizards & Builders GmbH Builders GmbH
Properties/Events ComboBoxProperties/Events ComboBox
AlignmentAlignment SelectedForeColorSelectedForeColor BackColorBackColor SelLengthSelLength ForeColorForeColor SelStartSelStart MarginMargin SelTextSelText SelectedBackColorSelectedBackColor StyleStyle alle notwendig für den Eingabebereichalle notwendig für den Eingabebereich DropDown-EventDropDown-Event reagiert auf das "Ausklappen"reagiert auf das "Ausklappen"
Wizards & Wizards & Builders GmbH Builders GmbH
Spezielle Properties Spezielle Properties ListBoxListBox
MoverBarsMoverBars MultiSelectMultiSelect
Wizards & Wizards & Builders GmbH Builders GmbH
EreignisseEreignisse
Wichtige Ereignisse in Wichtige Ereignisse in Combo/Listboxen unter Combo/Listboxen unter Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Wichtige EventsWichtige Events
ClickClick DblClickDblClick InteractiveChangeInteractiveChange ValidValid WhenWhen
Wizards & Wizards & Builders GmbH Builders GmbH
Click-EventClick-Event
wird aktiviertwird aktiviert bei Mausclickbei Mausclick beim tastaturgesteuerten "Wandern" in einer beim tastaturgesteuerten "Wandern" in einer
Listbox mit den -TastenListbox mit den -Tasten (nicht dagegen bei HOME, END, PgUp, PgDn!)(nicht dagegen bei HOME, END, PgUp, PgDn!) beim "ENTER"-Drücken in aufgeklappter ComboBoxbeim "ENTER"-Drücken in aufgeklappter ComboBox
wird nicht aktiviert:wird nicht aktiviert: bei Klick in den ScrollBarbei Klick in den ScrollBar bei Klick in nicht belegte Teile einer Listboxbei Klick in nicht belegte Teile einer Listbox
wird doppelt(!) aktiviertwird doppelt(!) aktiviert (in bestimmten Konstellationen) (in bestimmten Konstellationen)
Wizards & Wizards & Builders GmbH Builders GmbH
DblClick-EventDblClick-Event
wird aktiviertwird aktiviert bei Maus-Doppelclickbei Maus-Doppelclick beim "ENTER"-Drücken in einer ListBoxbeim "ENTER"-Drücken in einer ListBox
ACHTUNG! Bei TabStop = .T. verliert die ListBox in ACHTUNG! Bei TabStop = .T. verliert die ListBox in diesem Fall den Eingabefocus!diesem Fall den Eingabefocus!
wird nicht aktiviert:wird nicht aktiviert: in der ComboBoxin der ComboBox
Ausnahme: Doppelclick im Eingabebereich bei Style Ausnahme: Doppelclick im Eingabebereich bei Style 00
bei Klick in nicht belegte Teile einer Listboxbei Klick in nicht belegte Teile einer Listbox
wird doppelt(!) aktiviertwird doppelt(!) aktiviert (in bestimmten Konstellationen) (in bestimmten Konstellationen)
Wizards & Wizards & Builders GmbH Builders GmbH
InteractiveChange-EventInteractiveChange-Event
wird aktiviert, wenn ein anderer als der wird aktiviert, wenn ein anderer als der gerade aktive Eintrag zum aktuellen gerade aktive Eintrag zum aktuellen Eintrag gemacht wirdEintrag gemacht wird durch Mausclick auf einen anderen als den aktiven durch Mausclick auf einen anderen als den aktiven
EintragEintrag durch Tastatur-Navigationdurch Tastatur-Navigation
wird nicht aktiviert:wird nicht aktiviert: bei Klick in den ScrollBarbei Klick in den ScrollBar bei Klick in nicht belegte Teile einer Listboxbei Klick in nicht belegte Teile einer Listbox
bei MultiSelect = .T. muß der aktuelle bei MultiSelect = .T. muß der aktuelle Eintrag kein selektierter Eintrag sein!Eintrag kein selektierter Eintrag sein!
Wizards & Wizards & Builders GmbH Builders GmbH
Valid-EventValid-Event
wird aktiviert:wird aktiviert: bei Mausclick (Auswahlliste der ComboBox)bei Mausclick (Auswahlliste der ComboBox) bei Maus-Doppelclick (ListBox)bei Maus-Doppelclick (ListBox) beim "ENTER"-Drücken (List-/ComboBox; die beim "ENTER"-Drücken (List-/ComboBox; die
ListBox und eine nicht aufgeklappte ListBox und eine nicht aufgeklappte ComboBox verliert bei TabStop=.T. in diesem ComboBox verliert bei TabStop=.T. in diesem Fall den Focus!)Fall den Focus!)
wird nicht aktiviert:wird nicht aktiviert: bei Mausclick in ListBoxbei Mausclick in ListBox bei Tastatur-Navigation in aufgeklappter bei Tastatur-Navigation in aufgeklappter
ComboBoxComboBox
Wizards & Wizards & Builders GmbH Builders GmbH
When-EventWhen-Event
wird aktiviert:wird aktiviert: beim Aktivieren einer List- oder ComboBoxbeim Aktivieren einer List- oder ComboBox als letzter Event bei Mausklick oder Tastatur-als letzter Event bei Mausklick oder Tastatur-
Navigation in der ListBox (außer bei Mausclick Navigation in der ListBox (außer bei Mausclick auf den aktiven Eintrag!)auf den aktiven Eintrag!)
als letzter Event bei Mausklick oder "ENTER"-als letzter Event bei Mausklick oder "ENTER"-Drücken in der aufgeklappten ComboBoxDrücken in der aufgeklappten ComboBox
beim "ENTER"-Drücken (ListBox und nicht beim "ENTER"-Drücken (ListBox und nicht aufgeklappte ComboBox bei TabStop=.F.)aufgeklappte ComboBox bei TabStop=.F.)
Wizards & Wizards & Builders GmbH Builders GmbH
Zugriff auf EinträgeZugriff auf Einträge
Werzuweisung und Zugriff Werzuweisung und Zugriff auf Einträge in auf Einträge in
Combo/ListboxenCombo/Listboxen
Wizards & Wizards & Builders GmbH Builders GmbH
ControlSourceControlSource
bestimmt die Variable oder das bestimmt die Variable oder das Datenbankfeld, welches den "Zustand" Datenbankfeld, welches den "Zustand" des Listenfeldes verwaltet (d.h. auf des Listenfeldes verwaltet (d.h. auf welchem Eintrag befindet sich welchem Eintrag befindet sich augenblicklich der Listbox-/ ComboBox-augenblicklich der Listbox-/ ComboBox-Cursor)Cursor)
Datentyp "C" oder "N"Datentyp "C" oder "N" definiert nicht(!) die in List-/ ComboBox definiert nicht(!) die in List-/ ComboBox
anzuzeigenden Einträge!anzuzeigenden Einträge!
Wizards & Wizards & Builders GmbH Builders GmbH
verwandte Propertiesverwandte Properties
ListIndex ListIndex (Datentyp "N")(Datentyp "N") Nummer des aktuellen Eintrags (bezogen auf die Nummer des aktuellen Eintrags (bezogen auf die
optische Reihenfolge der Einträge)optische Reihenfolge der Einträge)
ListItemId ListItemId (Datentyp "N")(Datentyp "N") eindeutige Identifikationsnummer (unabhängig von eindeutige Identifikationsnummer (unabhängig von
der optischen Reihenfolge)der optischen Reihenfolge)
DisplayValue DisplayValue (Datentyp "N" oder "C")(Datentyp "N" oder "C") Inhalt der ersten Spalte bzw. bei ComboBox mit Inhalt der ersten Spalte bzw. bei ComboBox mit
Style 0 Inhalt des EingabebereichesStyle 0 Inhalt des Eingabebereiches
Value Value (Datentyp "N" oder "C")(Datentyp "N" oder "C") aktueller Eintragaktueller Eintrag
Wizards & Wizards & Builders GmbH Builders GmbH
Zugriff auf die Einträge Zugriff auf die Einträge (1)(1)
über den "Index"über den "Index" aktuelle Position des jeweiligen Eintrags aktuelle Position des jeweiligen Eintrags
bezogen auf die optische Anordnungsfolgebezogen auf die optische Anordnungsfolge
über die "ItemId"über die "ItemId" eine eindeutige, von der optischen Position eine eindeutige, von der optischen Position
unabhängige Identifikationunabhängige Identifikation ACHTUNG! Bestimmte Methoden bzw. ACHTUNG! Bestimmte Methoden bzw.
Properties funktionieren entweder nur Properties funktionieren entweder nur mit "Index" oder nur mit "ItemId"!mit "Index" oder nur mit "ItemId"!
Wizards & Wizards & Builders GmbH Builders GmbH
Zugriff auf Einträge (2)Zugriff auf Einträge (2)
Index-Zugriff:Index-Zugriff: arbeitet mit "Index“arbeitet mit "Index“ AddItemAddItem IndexToItemIndexToItem ItemDataItemData ListList ListIndexListIndex NewIndexNewIndex PicturePicture RemoveItemRemoveItem SelectedSelected TopIndexTopIndex
ID-Zugriff:ID-Zugriff: arbeitet mit "ItemId"arbeitet mit "ItemId" AddListItemAddListItem MM ItemToIndex ItemToIndex MM ItemIdData ItemIdData PAPA ListItem ListItem PAPA ListItemId ListItemId PP NewItemId NewItemId PP <keine Entsprechung><keine Entsprechung> PAPA RemoveListItem RemoveListItem MM SelectedId SelectedId PAPA TopItemId TopItemId PP
Wizards & Wizards & Builders GmbH Builders GmbH
Zugriff auf Einträge (3)Zugriff auf Einträge (3)
Index-Zugriff:Index-Zugriff: arbeitet mit "Index"arbeitet mit "Index" ItemDataItemData ListList PicturePicture SelectedSelected
ID-Zugriff:ID-Zugriff: arbeitet mit "ItemId"arbeitet mit "ItemId" ItemIdDataItemIdData ListItemListItem <keine Entsprechung> <keine Entsprechung> SelectedIdSelectedId
Die vorstehenden Properties beinhalten array-ähnliche Die vorstehenden Properties beinhalten array-ähnliche Strukturen, auf die als Subskript mit dem gewünschten Strukturen, auf die als Subskript mit dem gewünschten "Index" bzw. der gewünschten "ItemId" zugegriffen "Index" bzw. der gewünschten "ItemId" zugegriffen werden kann.werden kann.
Auf diese Properties kann nicht(!) mit VFP-Array-Auf diese Properties kann nicht(!) mit VFP-Array-Befehlen zugegriffen werden!Befehlen zugegriffen werden!
Wizards & Wizards & Builders GmbH Builders GmbH
Daten-QuellenDaten-Quellen
0 - keine0 - keine 1 - explizit angegebene Einträge1 - explizit angegebene Einträge 2 - Alias2 - Alias 3 - SQL-Statement3 - SQL-Statement 4 - Query4 - Query 5 - Array5 - Array 6 - Feldliste6 - Feldliste 7 - Dateien7 - Dateien 8 - DBF-Struktur8 - DBF-Struktur (9 - Popup)(9 - Popup)
Wizards & Wizards & Builders GmbH Builders GmbH
Divsere SonderfälleDivsere Sonderfälle
Mehrere Spalten, Mehrere Spalten, Mehrfach-auswahl, Mehrfach-auswahl,
Sortieren, Mover, BitMaps Sortieren, Mover, BitMaps in Combo/Listboxin Combo/Listbox
Wizards & Wizards & Builders GmbH Builders GmbH
Properties für Properties für mehrspaltigeBoxenmehrspaltigeBoxen
BoundColumnBoundColumn ColumnCountColumnCount ColumnLinesColumnLines ColumnWidthsColumnWidths DisplayValueDisplayValue RowSourceRowSource RowSourceTypeRowSourceType
Wizards & Wizards & Builders GmbH Builders GmbH
Mehrfachauswahl ListBoxMehrfachauswahl ListBox
MultiSelect = .T.MultiSelect = .T. funktioniert bei allen RowSourceTypesfunktioniert bei allen RowSourceTypes Selected und SelectId geben Auskunft Selected und SelectId geben Auskunft
darüber, ob ein Eintrag selektiert istdarüber, ob ein Eintrag selektiert ist ListIndex, ListItemId, Value, DisplayValue ListIndex, ListItemId, Value, DisplayValue
und ControlSource geben keine(!) und ControlSource geben keine(!) Auskunft darüber, ob ein Eintrag Auskunft darüber, ob ein Eintrag selektiert istselektiert ist
Wizards & Wizards & Builders GmbH Builders GmbH
"MoverBars" und "Sorted" in der "MoverBars" und "Sorted" in der ListBoxListBox
nur zugelassen bei RowSourceType 0 und nur zugelassen bei RowSourceType 0 und 11
bei MoverBars = .T. kann die ListBox per bei MoverBars = .T. kann die ListBox per Maus umsortiert werdenMaus umsortiert werden
Sorted = .T. führt zum alphabetisch Sorted = .T. führt zum alphabetisch sortierten Anzeigen der Listboxsortierten Anzeigen der Listbox(MACHINE-Sortierung ohne (MACHINE-Sortierung ohne Berücksichtigung von CodePage und Berücksichtigung von CodePage und Collate-Sequenz!)Collate-Sequenz!)
Wizards & Wizards & Builders GmbH Builders GmbH
"Sorted" in der ListBox"Sorted" in der ListBox
bewirkt ein sortiertes Erscheinen der bewirkt ein sortiertes Erscheinen der ListBox beim AufbauListBox beim Aufbau
die Sortierung kann durch MoverBars die Sortierung kann durch MoverBars bzw. explizites Hinzufügen von Einträgen bzw. explizites Hinzufügen von Einträgen mit AddItem/AddListItem gestört werden mit AddItem/AddListItem gestört werden (obwohl Sorted = .T. bestehen bleibt)(obwohl Sorted = .T. bestehen bleibt)
eine erneute Zuweisung "Sorted = .T." eine erneute Zuweisung "Sorted = .T." bewirkt ein neuerliches Sortierenbewirkt ein neuerliches Sortieren
Wizards & Wizards & Builders GmbH Builders GmbH
BMPs in List-/ComboBoxBMPs in List-/ComboBox
PICTURE( ListIndex ) = "xyz.bmp"PICTURE( ListIndex ) = "xyz.bmp"bewirkt die Anzeige der entsprechenden bewirkt die Anzeige der entsprechenden Bitmap links neben der ersten Spalte Bitmap links neben der ersten Spalte einer List-/ComboBoxeiner List-/ComboBox
bei der ComboBox werden die BMPs nur bei der ComboBox werden die BMPs nur in der aufgeklappten Liste angezeigtin der aufgeklappten Liste angezeigt
fehlende BMPs erzeugen keinen Fehlerfehlende BMPs erzeugen keinen Fehler GENERAL-Felder können im Widerspruch GENERAL-Felder können im Widerspruch
zur Dokumentation nicht(!) verwendet zur Dokumentation nicht(!) verwendet werdenwerden
Wizards & Wizards & Builders GmbH Builders GmbH
Was ist zu beachten?Was ist zu beachten?
List-/List-/Comboboxen Comboboxen sehr sehr leistungsfähigleistungsfähig
Zugriff über ID Zugriff über ID oder Index sehr oder Index sehr aufwendigaufwendig
Builder verfügbarBuilder verfügbar BitmapproblemBitmapproblem
Wizards & Wizards & Builders GmbH Builders GmbH
Vielen Dank!Vielen Dank!
Das waren die Themen:Das waren die Themen: GrundlagenGrundlagen Unterschiede Unterschiede
zwischen List-/ zwischen List-/ ComboboxenComboboxen
EreignisseEreignisse Zugriff auf Zugriff auf
EinträgeEinträge Diverse Diverse
SonderfälleSonderfälle
Wizards & Wizards & Builders GmbH Builders GmbH
Wenn Fragen bestehen:Wenn Fragen bestehen:
Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-
Entwicklung GmbHEntwicklung GmbH
Frankfurter Str. 21bFrankfurter Str. 21b
61476 Kronberg61476 Kronberg
Tel.: 06173-950906Tel.: 06173-950906
Fax: 06173-950907Fax: 06173-950907
CIS: 101605,175CIS: 101605,175