Einzelnen Beitrag anzeigen

WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#3

Re: ComboBox Item-Auswahl mit Enter

  Alt 16. Mai 2010, 19:28
Meine ComboBox hat AutoDropDown und Sorted aktiviert, sonst alles Standardwerte. Items werden zur Laufzeit aus Datei geladen und eingefügt.

Delphi-Quellcode:
type
  TItemEntry = class
  public
    ID, Desc: string;
    constructor Create(AID, ADesc: string);
  end;

  TIDEntry = class
  public
    ID: string;
    constructor Create(AID: string);
  end;

...

procedure TfrmMain.cbItemsChange(Sender: TObject);
begin
  if cbItems.ItemIndex > -1 then
  begin
    lblID.Caption := TItemEntry(cbItems.Items.Objects[cbItems.ItemIndex]).ID;
    lblDesc.Caption := TItemEntry(cbItems.Items.Objects[cbItems.ItemIndex]).Desc;
  end;
end;

procedure TfrmMain.btnAddClick(Sender: TObject);
begin
  Showmessage(inttostr(cbItems.ItemIndex)); // <-- da -1
  mmSQL.Lines.Add(Format(' (%s, %s, %d, %d),',
    [TIDEntry(cbMobs.Items.Objects[cbMobs.ItemIndex]).ID,
     TItemEntry(cbItems.Items.Objects[cbItems.ItemIndex]).ID,
     seQuest.Value,
     seChance.Value]));
end;

procedure TfrmMain.cbItemsKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    Showmessage(IntToStr(cbItems.ItemIndex)); // <-- hier ist er noch normal. Allerdings scheint die Box direkt danach auf -1 zu gehen, das ist nur so wenn hier ShowMessage ist.
end;
Ich wähle das Item aus indem ich in die Box z.B. "Silver Ore" eingebe und dann Enter drücke.
  Mit Zitat antworten Zitat