Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Wie bestimmte ComboBox-Einträge disablen?

  Alt 13. Aug 2006, 19:07
Zitat von _frank_:
hi,
woher weist die combobox, welche einträge sie disablen soll?
Das mache ich im OnDrawItem-Event, wenn bestimmte Bedingungen zutreffen.

Zitat von _frank_:
ich würde es evtl so machen...

setzen, welche einträge deaktiviert sind (gibt evtl bessere varianten)...
Delphi-Quellcode:
  combobox1.Items.Objects[0]:=TObject(0);//disabled
  combobox1.Items.Objects[1]:=TObject(1);//enabled
  combobox1.Items.Objects[2]:=TObject(0);//disabled
  ...
Danke, ist eine gute Idee, werde es im OnDrawItem-Event machen ...

Zitat von _frank_:
im onchange das ausgewählte prüfen und bei deaktiviert zum zuletzt ausgewählten zurückspringen

Delphi-Quellcode:
if combobox1.Items.Objects[combobox1.itemindex]=TObject(0) then
begin
  showmessage('disabled');
  combobox1.itemindex:=oldindex;
end else oldindex:=combobox1.itemindex;
Hm, ich möchte das so machen, dass bei einem Klick auf ein disabled-Item gar nichts passiert (so wie bei einem Disabled-Item in einem Menü). Ich habe folgendes versucht, aber ich bin da noch nicht ganz durch:

Delphi-Quellcode:
//Im OnSelect-Event der ComboBox:
ComboBox.DroppedDown := True;
Ich weiß noch nicht, wie ich im OnSelect-Event abfragen kann, welches Item angeklickt wurde, da ItemIndex zu diesem Zeitpunkt noch nicht auf das angeklickte Item verweist und auch ComboBox.Text noch nicht upgedatet ist.
  Mit Zitat antworten Zitat