![]() |
combobox enabled
moin nochmal,
ich möchte bei einem häckchen in einer checkbox, eine combobox auf enabled=false stellen, dies aber erst wenn man in combobox2 eine auswahl trifft. danke im voraus. so in etwa hatte ich mir das gedacht, aber das geht so natürlich nicht:
Delphi-Quellcode:
if checkbox.checked=true then schichtbuch.comboboxChange(schichtbuch.combobox2).enabled:=false; |
Re: combobox enabled
Wenn ich dein Problem richtig verstanden habe, dann kann man das im OnClick der CheckBox regeln:
Delphi-Quellcode:
MfG
procedure TForm1.CheckBox1Click(Sender: TObject);
begin if CheckBox1.Checked then ComboBox1.Enabled:= False; end; Binärbaum |
Re: combobox enabled
Hai herrntor,
evnentuell so:
Delphi-Quellcode:
procedure TForm1.ComboBox2Change(Sender: TObject);
begin ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND (CheckBox1.Checked)) end; procedure TForm1.CheckBox1Click(Sender: TObject); begin ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND (CheckBox1.Checked)) end; |
Re: combobox enabled
die combobox1 soll nur enabled=false wenn man eine auswahl in combobox2 trifft.
@Sharky: gute idee, werd ich gleich mal versuchen |
Re: combobox enabled
Zitat:
Was bewirken sie denn in diesem Fall ? |
Re: combobox enabled
aber woher weiß man ob enabled true oder false ist. das muss da doch noch rein, oder nicht?
|
Re: combobox enabled
Zitat:
Zur Wirkung:
Delphi-Quellcode:
ergibt True, wenn in CheckBox1 ein Haken gesetzt wurde und der Text von ComboBox2 nicht leer ist (d.h. es wurde etwas ausgewählt). Das not sorgt nur noch dafür, das der Wert negiert wird (d.h. True wird zu False und umgekehrt).
(ComboBox2.Text <> '') AND (CheckBox1.Checked)
MfG Binärbaum |
Re: combobox enabled
Zitat:
Das Property .Enabled ist eine Boolvariable. Es kann ihr also True oder False zugewiesen werden. Der Ausdrug (1=1) wird vom als Boolcheoperation gewertet und gibt True zurück wenn die Bedingung erfüllt ist. Ansonsten False. Ergo ergibt
Delphi-Quellcode:
True wenn in der Combobox2 ein Text steht und die Checkbox1 "gechecked" ist. Da es für diese Anforderung aber umgedreht sein soll wird das Ergebniss der Boolchenoperation mit NOT negiert.
((ComboBox2.Text <> '') AND (CheckBox1.Checked))
Anderes Beispiel:
Delphi-Quellcode:
auch hier steht rechts vom := eine einfache Boolcheoperation.
var
a : Integer; b : String; begin Irgendwass.Enabled := ((a=1) OR (a=7)) AND (b = 'blubb'); end; |
Re: combobox enabled
@Neutral General:
Delphi-Quellcode:
Hier wird die Checkbox enabled, wenn Die CheckBox nicht Leer ist und die CheckBox gecheckt ist.
ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND (CheckBox1.Checked))
Also wenn die Ereignisse in Klammern nicht beide zutreffen. Edit: Zu langsam und unausführlich ^^ |
Re: combobox enabled
@ Sharky : Oh man.. Ich kann doch Delphi :roll: :mrgreen:
Ich hab nur nicht gewusst das man das so schreiben kann :
Delphi-Quellcode:
Ich hätte geschrieben :
ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND (CheckBox1.Checked))
Delphi-Quellcode:
Die Schreibweise war mir nur neu. :wink:
if (ComboBox2.Text <> '') and (Checkbox1.Checked) then
Combobox1.Enabled := false else Checkbox1.Enabled := true; |
Re: combobox enabled
Da es sich beides mal um boolsche Werte handelt, kann man das auch schön kurz schreiben, wie es Sharky demonstriert hat.
Nachtrag: Selbst so etwas würde gehen:
Delphi-Quellcode:
i := 5;
CheckBox1.Checked := i = 5; //gecheckt |
Re: combobox enabled
die sache ist jetzt bloß, dass sich die checkbox auf einem anderen formular als die comboboxen befindet. das würde doch bedeuten, dass ich mit sendern arbeiten muss, oder wie bekommt sonst das formular mit den comboboxen gesagt ob ein häckchen drin ist.
|
Re: combobox enabled
Zitat:
Code:
ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND ([b]Name_der_Form.[/b]CheckBox1.Checked))
|
Re: combobox enabled
Zitat:
Ich komm mir vor als hätte ich vor 5 min mein "Hallo Welt" Programm geschrieben :roll: :mrgreen: @ Matze : das sowas :
Delphi-Quellcode:
geht ist mir aber absolut neu :mrgreen:
i := 5;
CheckBox1.Checked := i = 5; //gecheckt Aber ich glaube das ist auch nicht sooo bekannt oder ? Na gut... nochwas gelernt ^^ |
Re: combobox enabled
Zitat:
Aber praktisch ist das schon. Irgendwie sind wir weit neben dem eigentlichen Thema. |
Re: combobox enabled
Zitat:
Delphi-Quellcode:
Dann könne andere Leute, die den Code zu Gesicht bekommen, schneller was damit anfangen :wink:
i := 5;
CheckBox1.Checked := (i = 5); |
Re: combobox enabled
wie wäre denn das umgedrehte beispiel dazu. ich möchte nämlich auch das die checkbox auslesen kann, ob sich die combobox2 bei einer auswahl von combobox1 auf enabled=false stellt?
|
Re: combobox enabled
Zitat:
Code für Form1:
Delphi-Quellcode:
Code für Form2:
implementation
Uses Unit2; {$R *.dfm} procedure TForm1.ComboBox2Change(Sender: TObject); begin ComboBox1.Enabled := not ((ComboBox2.Text <> '') AND (Form2.CheckBox1.Checked)) end;
Delphi-Quellcode:
Uses
Unit1; {$R *.dfm} procedure TForm2.CheckBox1Click(Sender: TObject); begin Form1.ComboBox1.Enabled := not ((Form1.ComboBox2.Text <> '') AND (CheckBox1.Checked)) end; |
Re: combobox enabled
Zitat:
Delphi-Quellcode:
oder
checkBox1.Checked := ComboBox2.Enabled;
Delphi-Quellcode:
Je nachdem wie rum es soll. Muss natürlich nach der Stelle, an der du ComboBox2 auf enabled := false stellst.
checkBox1.Checked := not(ComboBox2.Enabled);
Falls da aber noch mehr passiert, wäre eine if-Struktur wahrscheinlich schon wieder übersichtlicher:
Delphi-Quellcode:
if Bedingung then
begin ComboBox1.Enabled := false; CheckBox1.Checked := true; Anweisung3; Anweisung4; end; |
Re: combobox enabled
schwere geburt. besten dank an alle.
|
Re: combobox enabled
ich hab da noch eine frage zu. und zwar klappt das noch nicht, dass sich die checkbox=checked stellt, wenn er auslesen kann ob bei combobox.change eine andere combobox2 enabled wird. er soll zum beispiel selber prüfen, ob sich eine combobox auf enabled stellt, wenn bei einer anderen eine auswahl getroffen wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 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