AGB  ·  Datenschutz  ·  Impressum  







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

Mit Rechstklick Eintrag in ListBox auswählen

Ein Thema von Nalincah · begonnen am 2. Okt 2003 · letzter Beitrag vom 2. Okt 2003
Antwort Antwort
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#1

Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 13:36
Ich hab folgende Situation:

Eine Listbox mit 10 Einträgen, die ein Popupmenu zugewiesen hat. Ich wähle mit der linken Maustaste den ersten Eintrag aus und klick dann mit der rechten Maustaste auf den zehnten Eintrag (Erste Eintrag immer noch ausgewählt). Wenn ich jetzt einen Eintrag im Popup-Menu anklicke, dann soll der den Eintrag auswählen, wo ich rechts geklickt hab, also den 10ten. Wie krieg ich das hin?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#2

Re: Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 13:40
Schau dir dazu mal die Funktion ListBox1.ItemAtPos an.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 13:45
Hab das jetzt so geschrieben:

Delphi-Quellcode:
ListBoxCatFields.ItemAtPos(Mouse.CursorPos,False);
EditCatFilter.Text := EditCatFilter.Text + ListBoxCatFields.Items[ListBoxCatFields.ItemIndex];
Klappt aber leider nicht. Hab die Sache mit Existing noch nicht ganz verstanden
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#4

Re: Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 13:51
Hier nen Auszug aus der OH dazu:
Delphi-Quellcode:
procedure TForm1.ListBox1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: integer);
var
  APoint: TPoint;
  Index: integer;
  TheObject: TControl;
begin
  if Button = mbRight then

  begin
  APoint.X := X;
  APoint.Y := Y;
  Index := ListBox1.ItemAtPos(APoint, True);
// hier müßtest du jetzt Index weiterverarbeiten

end;
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#5

Re: Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 13:57
Klappt leider nur teilweise:

Der holt sich zwar den Text aus der Listbox und pack ihn in das Edit, aber danach krieg ich

Listenindex überschreitet das Maximum (-1)
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#6

Re: Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 14:01
Poste mal deinen Code.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#7

Re: Mit Rechstklick Eintrag in ListBox auswählen

  Alt 2. Okt 2003, 14:07
So klappt es:

Globale Variable:

Delphi-Quellcode:
var
  aktindex:integer;
Dann die Procedure die den Wert in aktindex reinschreibt

Delphi-Quellcode:
procedure TFrmMain.ListBoxCatFieldsMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  APoint: TPoint;
begin
  if Button = mbRight then
  begin
    APoint.X := X;
    APoint.Y := Y;
    aktindex := ListBoxCatFields.ItemAtPos(APoint, True);
  end;
end;
und dann in der Procedure vom Popupmenu hab ich einfach als Itemindex den Wert von aktindex genommen

Delphi-Quellcode:
procedure TFrmMain.Feldnamenhinzufgen1Click(Sender: TObject);
begin
  EditCatFilter.Text := EditCatFilter.Text + ListBoxCatFields.Items[aktindex];
  EditCatFilter.SetFocus;
end;
Die letzte Procedure vom Popupmenu wird nur aufgerufen wenn die Procedure MouseUp aufgerufen wird, oder?
Sebastian
Ehemals bekannt als General2004
  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 00:01 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