List/Comboboxen
Programmierung von List- und
Comboxen mit
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Diese Schulung dient der Einführung in
das Arbeiten mit List- und Comboxen
unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Themenübersicht
Grundlagen
Unterschiede zwischen List-/
Comboboxen
Ereignisse
 Click, DblClick, InteractiveChange, Valid, When
Zugriff auf Einträge
Diverse Sonderfälle
Wizards &
Builders GmbH
Grundlagen
Grundlagen von List- und
Comboboxen unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
List- und ComboBoxen
List- und ComboBoxen finden
Verwendung zur Darstellung
multipler Inhalte
 Sie sind verwendbar als

 "Auskunfts"-Control
 "Auswahl"-Control
 "auslösendes" Control
Wizards &
Builders GmbH
Begriffs-Vereinbarungen
VFP-deutsch:






Listenfeld
Kombinationsfeld
Datenfeld
ElementNr
Index
Eigenschaft
VFP-Englisch:






ListBox
ComboBox
Array
ItemId
Index
Property
Wizards &
Builders GmbH
Neuigkeiten in VFP
teilweise objektorientierter Ansatz
 Gleichwertigkeit von List- und
ComboBox
 neue Datenquellen
 Mehrspaltigkeit
 Einbeziehen von BMPs

Wizards &
Builders GmbH
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
Wizards &
Builders GmbH
Unterschiede
Unterschiede zwischen Listund Comboboxen unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
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
Wizards &
Builders GmbH
Funktionalitätsunterschiede
resultierend aus der Bedienung
 MoverBars und MultiSelect nur bei
der ListBox
 Text-Editier-Möglichkeiten nur bei
ComboBox (Style 0)

Wizards &
Builders GmbH
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"
Wizards &
Builders GmbH
Spezielle Properties ListBox
MoverBars
 MultiSelect

Wizards &
Builders GmbH
Ereignisse
Wichtige Ereignisse in
Combo/Listboxen unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Wichtige Events
 Click
 DblClick
 InteractiveChange
 Valid
 When
Wizards &
Builders GmbH
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)
Wizards &
Builders GmbH
DblClick-Event

wird 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)
Wizards &
Builders GmbH
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!
Wizards &
Builders GmbH
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
Wizards &
Builders GmbH
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.)
Wizards &
Builders GmbH
Zugriff auf Einträge
Werzuweisung und Zugriff auf
Einträge in Combo/Listboxen
Wizards &
Builders GmbH
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!
Wizards &
Builders GmbH
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
Wizards &
Builders GmbH
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"!
Wizards &
Builders GmbH
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

ItemToIndex

ItemIdData

ListItem

ListItemId

NewItemId

<keine Entsprechung>

RemoveListItem

SelectedId

TopItemId
M
M
PA
PA
P
P
PA
M
PA
P
Wizards &
Builders GmbH
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!
Wizards &
Builders GmbH
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)
Wizards &
Builders GmbH
Divsere Sonderfälle
Mehrere Spalten, Mehrfachauswahl, Sortieren, Mover,
BitMaps in Combo/Listbox
Wizards &
Builders GmbH
Properties für mehrspaltigeBoxen







BoundColumn
ColumnCount
ColumnLines
ColumnWidths
DisplayValue
RowSource
RowSourceType
Wizards &
Builders GmbH
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
Wizards &
Builders GmbH
"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!)
Wizards &
Builders GmbH
"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
Wizards &
Builders GmbH
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
Wizards &
Builders GmbH
Was ist zu beachten?




List-/Comboboxen
sehr leistungsfähig
Zugriff über ID oder
Index sehr
aufwendig
Builder verfügbar
Bitmapproblem
Wizards &
Builders GmbH
Vielen Dank!
Das waren die Themen:
 Grundlagen
 Unterschiede
zwischen List-/
Comboboxen
 Ereignisse
 Zugriff auf Einträge
 Diverse Sonderfälle
Wizards &
Builders GmbH
Wenn Fragen bestehen:
Wizards & Builders
Methodische SoftwareEntwicklung GmbH
Frankfurter Str. 21b
61476 Kronberg
Tel.: 06173-950906
Fax: 06173-950907
CIS: 101605,175
Wizards &
Builders GmbH

List/Comboboxen unter Visual FoxPro