Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Problem mit ListBox (https://www.delphipraxis.net/118550-problem-mit-listbox.html)

gfjs 10. Aug 2008 07:20


Problem mit ListBox
 
Guten Morgen @all.

Ich habe auf ein Formular eine ListBox gesetzt, kann aber zur Laufzeit keine Eingaben machen. Was habe ich da falsch gemacht?

Dankbar für jeden Tip ist

Jürgen

Blackheart 10. Aug 2008 07:30

Re: Problem mit ListBox
 
Du meinst editieren ? dafür ist die Listbox nicht gedacht vieleicht wäre Stringgrid ja was für deine Zwecke.

extrem 10. Aug 2008 07:35

Re: Problem mit ListBox
 
Hallo,

ein TListView wäre dafür auch geeignet.

marabu 10. Aug 2008 07:38

Re: Problem mit ListBox
 
Moin Jürgen,

direkt in der ListBox ändern kannst du zwar nicht, aber manchmal will man das auch gar nicht.

Delphi-Quellcode:
procedure TDemoForm.ListBoxDblClick(Sender: TObject);
var
  s: string;
begin
  with Sender as TListBox do
    if ItemIndex > -1 then
    begin
      s := Items[ItemIndex];
      if InputQuery('Bearbeiten', 'Text', s) then
        Items[ItemIndex] := s;
    end;
end;
Freundliche Grüße

toms 10. Aug 2008 07:42

Re: Problem mit ListBox
 
Zitat:

Zitat von extrem
Hallo,

ein TListView wäre dafür auch geeignet.

So kannst du TListView so aussehen lassen wie eine TListBox aber mit editierbaren Items.

TListView mit einer Spalte (AutoSize := True)

ViewStyle := vsReport
RowSelect := True
ShowColumnHeaders := False

turboPASCAL 10. Aug 2008 07:46

Re: Problem mit ListBox
 
@marabu, schöne Idee. :thumb:

gfjs 10. Aug 2008 07:46

Re: Problem mit ListBox
 
Guten Morgen,

und vielen Dank für die schnellen Antworten. Da habe ich wohl etwas falsch verstanden:

Zitat:

Mit einem TListBox-Objekt können Sie eine bildlauffähige Liste anzeigen, deren Einträge vom Benutzer ausgewählt, hinzugefügt oder gelöscht werden können.
Ich kann allerdings auch keinen der zur Entwurfzeit erstellten Einträge zur Laufzeit löschen. - Irgenwie stehe ich wohl auf der Leitung?!

Gruß Jürgen

toms 10. Aug 2008 07:50

Re: Problem mit ListBox
 
Ein Item kannst du so löschen:

Delphi-Quellcode:
Listbox1.Items.Delete(ItemIndex);

gfjs 10. Aug 2008 08:22

Re: Problem mit ListBox
 
Danke für die Antworten - ich dachte ListBox sei viel komfortabler (z.B. markierten + entf + weg isses).

marabu 10. Aug 2008 08:30

Re: Problem mit ListBox
 
Du musst nur wissen, was du willst.

So kann z.B. eine Tastaturschnittstelle ausehen:

Delphi-Quellcode:
procedure TDemoForm.ListBoxKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  s: string;
  i: Integer;
begin
  with Sender as TListBox do
    case Key of
      VK_INSERT:
      begin
        s := '';
        if InputQuery('Hinzufügen', 'Text', s) then
          if Trim(s) <> '' then
            Items.Insert(ItemIndex, s);
      end;
      VK_DELETE:
        if ItemIndex > -1 then
          Items.Delete(ItemIndex);
      VK_SPACE:
      begin
        s := Items[ItemIndex];
        if InputQuery('Bearbeiten', 'Text', s) then
          if Trim(s) <> '' then
            Items[ItemIndex] := s;
      end;
      VK_UP:
        if (ItemIndex > 0) and (ssCtrl in Shift) then
        begin
          i := ItemIndex;
          Items.Exchange(Pred(ItemIndex), ItemIndex);
          ItemIndex := i;
        end;
      VK_DOWN:
        if (Succ(ItemIndex) < Count) and (ssCtrl in Shift) then
        begin
          i := ItemIndex;
          Items.Exchange(Succ(ItemIndex), ItemIndex);
          ItemIndex := i;
        end;
    end;
  // Key := 0;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz