AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Klick auf Spaltenheader (TListView) erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

Klick auf Spaltenheader (TListView) erkennen

Ein Thema von MCXSC · begonnen am 15. Jun 2007 · letzter Beitrag vom 22. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
MCXSC
(Gast)

n/a Beiträge
 
#1

Klick auf Spaltenheader (TListView) erkennen

  Alt 15. Jun 2007, 23:33
Hallo,

ich würde gerne 2 Popups in eine TListView bauen...

Also folgendermaßen:

Rechtsklick auf (irgendeinen) Spaltenheader --> Popup 1 öffnen
Rechtsklick auf die Einträge (also auf alles unterhalb der Header) --> Popup 2 öffnen

Nur entweder bin ich blind, oder ich finde dazu nichts...

Kann mir jemand einen Tipp geben?

Hf,
MCXSC
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 16. Jun 2007, 00:07
Also für die Header gibt es OnColumnRightClick.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#3

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 16. Jun 2007, 00:29
Arg... Shame on me...

Okay, ich war blind... Sorry...
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#4

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 16. Jun 2007, 00:40
Jetzt habe ich aber noch ein kleines Problem:

Wenn ich nun mit der rechten Maustaste auf die Header klicke, öffnet sich Popup1 in Vordergrung und Popup2 direkt dahinter, obwohl es eigentlich gar nicht aufpoppen sollte....
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 16. Jun 2007, 01:18
Tja, keine Ahnung was du machst. Ohne etwas Code von dir, wird das hier nichts.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#6

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 16. Jun 2007, 01:27
Okay.

Im ColumnRightClick öffne ich das Popup 1:

Popup1.Popup(Point.x, Point.y); Popup 2 ist in den Eigenschaften der ListView unter "PopupMenu" eingetragen...
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 16. Jun 2007, 04:49
Der Rechtsklick erzeugt u.A. auch das Ereignis onContextPopup. Da du für das ganze Control ein Popup-Menü zugewiesen hast, wird das automatisch aufgerufen. Wenn du unterschiedliche Popup-Menüs für unterschiedliche Breiche des Listviews haben möchtest, mußt du im OnContextPopup-Event anhand der Mausposition feststellen in welchem Bereich des Listviews du bist (Columnheader, Row usw.) und das entsprechende Menü hochpopen.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#8

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 18. Jun 2007, 03:44
Zitat von Ghostwalker:
OnContextPopup-Event anhand der Mausposition feststellen in welchem Bereich des Listviews du bist (Columnheader, Row usw.) und das entsprechende Menü hochpopen.
Und wie kann ich die Bereiche feststellen?
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 18. Jun 2007, 04:06
Naja..über mouse.cursorpos bekommst du die aktuelle Position des Mauszeigers auf dem Bildschirm, dann
müßtest du prüfen ob die position innerhalb eines Header-Elementes liegt (mit Left,Top,Width,height, kannst du dir das entsprechende Rechteck ermitteln).

Evtl. gibts für den 2. Schritt sogar schon eine Methode im Listview (GetItemPos oder sowas).
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Klick auf Spaltenheader (TListView) erkennen

  Alt 22. Jun 2007, 11:20
Ich häng mich da mal rein. Hab das gleiche Problem.

Leider lässt sich der Bereich der Listview-ColumnHeader nicht so einfach ermitteln. Ich wüsste nicht wie.
TListColumn's haben kein WindowHandle und keine Höhe die man abfragen könnte.
Man bekommt nur den Bereichs der ganzen TListView herraus.

Evtl. könnte man im OnColumnRigthClick ein boolean setzten der im OnContextPopup ausgewertet wird und das poppen des Context-Menüs verhindert. Ob das funktioniert ... ???
Oder man geht ein fach davon aus das ein Header immer 20 hoch ist.
Ist aber unschön und man wird evtl. mit den XPStyles Schwierigkeiten bekommen.

Sonst noch jemand Ideen?

*PUSH*
gmc
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:39 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