AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ValueListEditor: Reihe unter der Maus entfernen

ValueListEditor: Reihe unter der Maus entfernen

Ein Thema von synex · begonnen am 21. Apr 2003 · letzter Beitrag vom 25. Apr 2003
Antwort Antwort
Seite 1 von 2  1 2   
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#1

ValueListEditor: Reihe unter der Maus entfernen

  Alt 21. Apr 2003, 23:42
Ich habe folgendes Problem:

Ich habe einen ValueListEditor bei dem ich ein PopUpMenu angehängt habe. Wenn ich in diesem PopUpMenu den einen Eintrag anklicke ('Reihe entfernen'), dann soll die Reihe, wo sich die Maus grade drüber befindet entfernt werden.

Weis einer wie das geht? Wäre echt toll!

Bis dann
der synex

[nachtrag]
Durch
Code:
deleterow(row)
habe ich schon geschafft, wenn ich vorher mit der linken Maustaste die Reihe markiert habe, diese auch zu löschen. Jetzt brauch ich noch eine Möglichkeit die Reihe rauszufinden, ohne vorher mit der rechten Maustaste gedrückt zu haben.

[/nachtrag]
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#2
  Alt 22. Apr 2003, 20:30
weis denn keiner Rat?
  Mit Zitat antworten Zitat
Benutzerbild von Specialwork
Specialwork

Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
 
Delphi 8 Professional
 
#3

TValueListEditor.DeletRow

  Alt 23. Apr 2003, 23:44
Hallo synex,

Versuch es mal so:

Delphi-Quellcode:
 var ActiveRow: Integer;

procedure TForm1.ValueListEditor1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  ActiveRow:=ARow;
end;

procedure TForm1.Reiheentfernen1Click(Sender: TObject);
begin
  if (ActiveRow<ValueListEditor1.RowCount) then begin
    ValueListEditor1.DeleteRow(ActiveRow);
  end;
end;
Gruß, Tom
Angehängte Dateien
Dateityp: pas unit1_221.pas (954 Bytes, 10x aufgerufen)
Thomas van Veen
Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 25. Apr 2003, 14:24
Naja danke erstmal dass du überhaupt geantwortet hast
Aber das Problem ist immer noch dasselbe:
Es geht darum, ich habe einen Valuelisteditor und dazu ein Popupmenu. In diesem Popupmenu kann man auswählen "Reihe entfernen". Wenn ich jetzt mit rechts auf den Editor klicke, öffnet sich das Popupmenü und wenn ich dann noch auf löschen klicke, dann wird die vorher selktierte Reihe gelöscht, also nicht die wo ich mit rechts draufgeklickt habe. Was ich eigentlich brauche ist eine Möglichkeit beim Rechtsklick die aktuell unter der Maus befindliche Reihe abzufragen.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#5
  Alt 25. Apr 2003, 14:46
Mit mousedown kannst du doch abfragen, welche maustaste gedrückt wurde. dann kannst du ja fragen: Wenn rechte Maustaste gedrückt wurde, dann zuerst einen llinken Mausklick simulieren und dann noch mal einen Rechtsklick, damit das Popup aufgeht.

Meinst du sowas?

Tut mir leid, habs grad bei mir probiert, scheint nicht zu funktionieren.
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#6
  Alt 25. Apr 2003, 14:54
Im Prinzip ja.
Bleibt nur noch die Frage 1) Wie simulier ich einen linken Klick?
und 2) Wenn er beim OnMouseDown das alles ausführt, dann kann er ja nicht gleichzeitig das Popupmenu öffnen, also muss man das manuel öffnen. Nun hab ich da aber das Problem wenn ich
Code:
popupmenu.popup(x,y) wobei x und y von der OnMouseDown-Funktion übergeben werden
verwende, dass das Popupmenu dann an einer völlig falschen Stelle aufpoppt
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#7
  Alt 25. Apr 2003, 15:05
Ich hätte das mit
IF Key = mbright then Button := mbleft; Das mit dem Popup ist beimir auch.

So müsste das mit den Koordinaten dann ungefähr stimmen
PopupMenu1.Popup(Form1.Left+xs,Form1.Top+ys);
  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 25. Apr 2003, 15:12
also das mit dem erst linksklick dann rechtsklick funktioniert so nicht
Und das Popupmenu müsste wenn ich nicht irre so sein:
Code:
PopupMenu1.Popup(valuelisteditor1.Left+x,valuelisteditor.Top+y);
aber das will auch nicht
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#9
  Alt 25. Apr 2003, 15:22
Wenn das so nicht funktioniert, weiß ich auch nix mehr. Aber zu x und y: Ich glaub, Das Programm rechnet x und y von gesamten bildschirm, nicht nur von deinem Programmfenster.
Viel Glück noch , man liest sich Stanlay

  Mit Zitat antworten Zitat
synex

Registriert seit: 14. Apr 2003
147 Beiträge
 
Delphi 6 Personal
 
#10
  Alt 25. Apr 2003, 15:27
naja danke jedenfalls mal.
Ist jetzt auch egal, ging um mein programm URL Shortcut (*schleichwerbung*), da wollte ich das eigentlich so haben, aber so wies jetzt ist geht es wenigstens mit Umwegen.
Zu x und y:
Zitat:
aus der Delphi Hilfe:
Parameter X und Y geben die Pixel-Koordinaten des Mauszeigers im Client-Bereich von Sender an.
was auch immer das jetzt bedeuten soll Aber meiner Meinung nach ist der Sender ja ein Element auf der Form und nicht die Form selber und somit wäre meine Theorie richtig *selbstlobstinkt*
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:52 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