PDA

Vollständige Version anzeigen : Schönheitskorrekturen


Ernestin
25.07.2001, 13:03
hallo Forenmitglieder,
ich hätte 3 Fragen die mir schon länger auffallen - nicht lebensnotwendig sind - aber immer wieder auffallen, also:
1. wie kann man ein Textfeld (enabled=false, locked=true,forecolor=schwarz) so definieren dass die Anzeige dieses Feldes nicht so unleserlich HELL wird?
2. wie kann man in ein ebensolchen Feld den NULL-Wert (z.B. aus der DB) anzeigen ohne mit if/iif arbeiten zu müssen?
3. kann man den Markierungsbalken einer Listbox farblich ändern (so wie bei einem Grid) - OHNE die Systemfarben zu verändern..

Danke an Alle die sich die Mühe machen mir zu antworten und liebe Grüße

Stefan Kulpa
25.07.2001, 17:54
<font face="Verdana" size="2">Hallo Ernestin,

Zu 1.
Diese Darstellung ist eigentlich ein Windows-Standard der dem Benutzer den aktuellen Status anzeigt - eben z.Zt. nicht verfügbar. Die von Dir genannte Eigenschaftkombination ist aber nicht sehr sinnvoll - wenn ein Control disabled ist, wirkt sich weder die Eigenschaft Locked noch die Schriftfarbe auf das Control aus. Bleibt das Control jedoch Enabled ist die Eigenschaft Locked = True recht sinnvoll, da keine Veränderungen vorgenommen werden können.
Zu 2.
Ich nehme an, dass Du ein Feld leer lassen willst, wenn das entsprechende Tabellenfeld den Wert Null beinhaltet!?!
Die Umgehung einer If/IIf-Klausel ist durch ein sog. TypeCasting zu realisieren; Beispiel:

für ein numerisches Tabellenfeld: txtWert.Text = CLng(0 & fld.Value)
für ein alphanumerisches Tabellenfeld: txtWert.Text = CStr("" & fld.Value)

Dabei werden die Werte jeweils intern zunächst als Varianten behandelt (0 & fld.Value) bzw. ("" & fld.Value) und dann durch die explizite Typumwandlung (Casting) zu "lesbaren" Werten konvertiert. Sind die Felder NULL, so ergibt CLng(0 & fld.Value) = 0 und CStr("" & fld.Value) einen Leerstring.
Zu 3.
Keine Ahnung - aber ich nehme es einmal an. Wahrscheinlich ist dies mittels API möglich, aber diesem "Problem" habe ich mich noch nicht gestellt ;-)

HTH</font>