AGB  ·  Datenschutz  ·  Impressum  







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

Grid1CellClick erweitern um xpos, ypos

Ein Thema von fly_singapore · begonnen am 11. Mai 2007 · letzter Beitrag vom 11. Mai 2007
Antwort Antwort
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#1

Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 12:48
Hallo Allerseits,

Im Control TDBgrid gibt es das Ereignis 'Grid1CellClick'. Ausser dem Column als Argument wird nichts mit geliefert,

Jetzt möchte ich aber innerhalb der Ereignisbehandlung die X + Y Position der Maus auslesen.

Im Control Stringgrid gibt es das Ereignis OnMouseDown welches genau diese Parameter als Argument mitliefert, eine Entsprechung
im TDBGrid finde ich nicht. Allerdings muss ich sagen, dass ich z.Z. noch mit Delphi 3 arbeite, ich aber auf eine aktuelle Delphi-Version warte, die eventuell diese Erweiterungen behinhaltet.

Ich habe mir dann überlegt ob man nicht über die objektorientiere Programmierung so was lösen könnte, indem man einfach TBGrid vererbt und die Ereignisse, so erweitert, dass auch die Mauspositionparameter auswertbar sind.

Leider bin ich nicht so fit in der objektorienierte Programmierung. Deshalb meine Frage an Euch. Könnt ihr mir einen Lösungsansatz nennen bzw. ein tutorial empfehlen, was solche Fragen beantwortet...


Vielen Dank
Peter Steffens
  Mit Zitat antworten Zitat
marabu

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

Re: Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 12:55
Hallo,

kannst du bitte noch etwas mehr zu der eigentlichen Anforderung schreiben? Wozu brauchst du bei einem DBGrid die Mausposition? Reicht nicht die Identifizierung des Datenfeldes völlig aus?

Freundliche Grüße
  Mit Zitat antworten Zitat
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 13:05
Hallo Marabu,


ich möchte ein Kontextmenü erstellen, was sich neben den Mauscursor öffnet, sobald ich beispielsweise auf eine Zelle doppelklicke.
Dabei soll soll auch die Column weiterhin auswertbar sein, die ich ja auch weiterhin brauche.
Peter Steffens
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 13:06
Dann Hol dir doch in der Event-methode die aktuelle Position der Maus
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

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

Re: Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 13:17
Wenn du nur ein context menu brauchst:

Delphi-Quellcode:
procedure TForm1.DBGridMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  pt: TPoint;
begin
  if Button = mbRight then
  begin
    pt := DBGrid.ClientToScreen(Point(X, Y));
    PopupMenu.Popup(pt.X, pt.Y);
  end;
end;
Oder noch einfacher: Die Grid-Komponente hat eine Eigenschaft PopupMenu ...

Freundliche Grüße
  Mit Zitat antworten Zitat
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 13:30
etwa so?

[delphi]

procedure TForm1.DBGrid2CellClick(Sender: TObject; x, y: integer);
begin
...
...
end;

ich habe auch oben im Type-Bereich entsprechende Eintragung vorgenommen.. funktioniert nicht
Peter Steffens
  Mit Zitat antworten Zitat
marabu

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

Re: Grid1CellClick erweitern um xpos, ypos

  Alt 11. Mai 2007, 13:35
Da du nicht widersprochen hast, gehe ich davon aus, dass du dein Grid mit einem Kontextmenü ausstatten möchtest. Ziehe einfach ein PopupMenu auf die Form und ordne das Menu dem Grid im Object Inspector zu. Vergiss die Events des Grids. Oder hast du noch etwas verschwiegen?
  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 14:46 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