![]() |
Combobox: nicht editierbar
Hallo,
Ich habe auf meinem Form eine Combobox mit vorgegebenen Items. Das heißt der Benutzer darf keine eigenen Sachen reinschreiben, sondern darf nur aus den vorhandenen Items seine Auswahl treffen. Jetzt habe ich das Problem, dass ich ja nicht...
Delphi-Quellcode:
...verwenden kann, da die Box ja dann komplett gesperrt ist.
combobox1.enabled:=false;
Wie kann ich das bewerkstelligen :?: |
Re: Combobox: nicht editierbar
Hab kein Delphi hier, aber guck mal im IO nach der Property Style, diese solltest du auf OwnerDrawFixed setzen.
|
Re: Combobox: nicht editierbar
Noch besser wäre csDropDownList, da man so auf den ersten Blick erkennt, dass man keine eigenen Werte eingeben kann.
|
Re: Combobox: nicht editierbar
Hallo,
du brauchst nur im OI den Style auf csDropDownList stellen. Wie schon erwähnt .... (war zu spät) Gruß Bebe |
Re: Combobox: nicht editierbar
Jo, danke das klappt.
Jetzt habe aber noch eine Frage. Wie bekomme ich combobox1.text wieder leer? Also wie wenn noch nichts ausgewählt wurde. |
Re: Combobox: nicht editierbar
Das würde ich so machen ...
Delphi-Quellcode:
comboBox1.ItemIndex := -1;
|
Re: Combobox: nicht editierbar
Zitat:
|
Re: Combobox: nicht editierbar
Ich hänge einfach mal hier meine Frage an, da sie zum Thema passt.
Ich benötige genau das hier gefragte. Jedoch möchte ich nun weiterhin, daß nach einer Auswahl der Kombobox der angezeigte Text nicht nicht mehr blau hinterlegt und umrahmt ist sondern eben einfach nur der Text ohne Formatierungen vorhanden ist. Ich konnte in den Eigenschaften diesbezüglich leider nichts finden. Wie kann ich das realisieren? |
Re: Combobox: nicht editierbar
Zitat:
|
Re: Combobox: nicht editierbar
Ich habe gerade noch einmal die Delphi-Hilfe durchwälzt. Finden konnte ich auf die Schnell das:
csOwnerDrawFixed Erzeugt eine Owner-draw-Dropdown-Liste mit einem Eingabefeld für manuell einzugebenden Text. Für alle Listeneinträge wird die Höhe verwendet, die in der Eigenschaft ItemHeight festgelegt ist. Und jetzt weiss ich nicht ganz, wie ich das mit deinem Beitrag verbinden soll. :( Irgendwie ist das, wenn ich das richtig verstehe, so gar nicht das, was ich eigentlich möchte. |
Re: Combobox: nicht editierbar
Meinst du etwa so?
Delphi-Quellcode:
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState); begin with Control as TComboBox do begin if DroppedDown and (odSelected in State) then Canvas.Brush.Color := clHighlight else Canvas.Brush.Color := clWindow; Canvas.Font.Color := clWindowText; Canvas.FillRect(Rect); Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Items[Index]); end; end; |
Re: Combobox: nicht editierbar
Tut mir leid, habe dich wohl falsch verstanden :(.
Ja, genau das meinte ich. Noch ein wenig überarbeitet, und es ist perfekt für meine Ansprüche :). Danke für die schnell Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz