AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Allgemeine Frage zur Verwendung von TListbox

Ein Thema von Corpsman · begonnen am 4. Apr 2006 · letzter Beitrag vom 5. Apr 2006
Antwort Antwort
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Allgemeine Frage zur Verwendung von TListbox

  Alt 4. Apr 2006, 16:48
Hi,

Ich Programmiere schon seit über 7 Jahren und benutze sehr Häufig die Klasse Tlistbox.

Seit dem ersten mal mus ich jedesmal folgenden Code einfügen wenn ich Tlistbox benutzen will.

Delphi-Quellcode:
Procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Begin
  ListBox1.ItemIndex := ListBox1.ItemAtPos(point(x, y), true);
End;
Ich weis schon was der Code macht, so ist das nicht, nur finde ich es irgendwie blöd das man das so machen mus.

Erst vor Kurzer Zeit habe ich eine TListbox für die DelphiX Komponenten gebaut. Hier habe ich natürlich den Code direct in meine Klasse eingebaut. ( Was übrigens auch nicht besonders schwer war )

Die Frage die sich mir stellt, gibt es auch eine andere Möglichkeit den oben geschriebenen Code um zu setzen ?

Das man ihn Braucht steht auser Frage.

Corpsman
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Allgemeine Frage zur Verwendung von TListbox

  Alt 4. Apr 2006, 16:51
Hi,

ich versteh zwar nicht ganz, was du willst, aber der ItemIndex setzt sich von alleine, wenn man auf die ListBox klickt, da brauchst du nicht "nachhelfen".

*Ein verwirrtes Spinnchen*

[edit] Oh Gott, schon 3000 Beiträge, solangsam werde ich auch eine "Forennervensäge" *ganz scheinheilig zu Luckie mit seinen 18000 Beiträgen rüber schaut * [/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Allgemeine Frage zur Verwendung von TListbox

  Alt 4. Apr 2006, 19:30
Ich Programmiere mit Delphi 5 Pro

Und bei mir setzt sich das definitiv nicht von selbst.

Das Stimmt nur wenn der Scrollbalken nicht sichtbar ist.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Allgemeine Frage zur Verwendung von TListbox

  Alt 4. Apr 2006, 20:22
Es tut mir leid dir das schreiben zu müssen, aber dein D5Pro scheint defekt zu sein. Der ItemIndex passt sich bei einem Klick auf die ListBox automatisch an - wie Manuel bereits geschrieben hat. Vielleicht möchtest du ein Demo-Projekt veröffentlichen, mit dem man dein Problem nachvollziehen kann?

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Allgemeine Frage zur Verwendung von TListbox

  Alt 4. Apr 2006, 20:24
Wenn schon, dann ist seine DCU kaputt. Aber die Wahrscheinlichkeit ist mehr als gering, da bei einem Datendefekt ein Compilerfehler ungleich wahrscheinlicher wäre.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Allgemeine Frage zur Verwendung von TListbox

  Alt 4. Apr 2006, 20:28
Lol,

Ihr Habt Recht. Ich habe es grad nochmal getestet. Jetzt tut es. Ich könnte schwören das es vorher nicht getan hat.

Da Frage ich mich dann immer mehr warum es die Function gibt wenn ich sie nicht brauche.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Allgemeine Frage zur Verwendung von TListbox

  Alt 5. Apr 2006, 07:18
Zitat von Corpsman:
... warum es die Function gibt wenn ich sie nicht brauche.
Hai Corpsman,

hier mal ein mögliches Beispiel. Ich habe ein PopUp-Menü (das nicht mit der Listbox verknüpft ist!) mit einem Eintrag um etwas aus der ListBox zu löschen.
Ich möchte aber sicherstellen das beim klick mit der rechten Maustaste auch ein Item ausgewählt wird.
Genau das kann ich mit ItemAtPos sehr schön machen.

Delphi-Quellcode:
procedure TDemoForm.Delete1Click(Sender: TObject);
begin
  with ListBox1 do
  begin
    if (ItemIndex > -1) then
    begin
      Items.Delete(ItemIndex);
    end;
  end;
end;

procedure TDemoForm.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  NewItemIndex: Integer;
  MousePoint: TPoint;
begin
  if (Button = mbRight) then
  begin
    with (Sender as TListBox) do
    begin
      MousePoint.X := X;
      MousePoint.Y := Y;
      NewItemIndex := ItemAtPos(MousePoint, TRUE);
      if (NewItemIndex > -1) then
      begin
        ItemIndex := NewItemIndex;
        MousePoint := ClientToScreen(MousePoint);
        PopupMenu1.Popup(MousePoint.X, MousePoint.Y);
      end;
    end;
  end;
end;
Stephan B.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
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