AGB  ·  Datenschutz  ·  Impressum  







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

Mausposition im DBGrid

Ein Thema von fly_singapore · begonnen am 23. Apr 2007 · letzter Beitrag vom 26. Apr 2007
Antwort Antwort
fly_singapore

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

Mausposition im DBGrid

  Alt 23. Apr 2007, 16:48
Hallo Allerseits,

nachdem ich mich wund gesucht habe, sehe ich meine letzte Möglichkeit hier im Forum. Es geht darum, in deinen DBGrid die aktuelle Mausposition oder zumindenst die Position der aktuellen Zelle auszulesen. Ich habe kein Ereignis Dergestalt wie etwa <onMousedown> oder <onMouseup> gefunden. In einen normalen Stringgrid finde ich solche Ereignisse. Das Stringgrid würde mir auch eine Menge andere Manipulationsmöglichkeiten geben, allerdings befürchte ich beim einlesen jeder Zelle einen Performance-verlust, da ich aus einer Tabelle etwa 280000 Datensätze auslesen muss.

Könnte mir jemand sagen, wie ich Mauspositionen unter DGGrid auslesen kann..

Ach ja, ich arbeite noch mit Delphi 3..

Vielen Dank !!!!
Peter Steffens
  Mit Zitat antworten Zitat
Bolt Thrower

Registriert seit: 2. Sep 2004
Ort: Weilheim
22 Beiträge
 
#2

Re: Mausposition im DBGrid

  Alt 24. Apr 2007, 10:23
Hallo fly_singapore,

mit dem folgenden Code kannst Du die Position der aktuell ausgewählten Zelle in einem "DB-Grid" herausfinden (kann das leider nicht unter "Delphi 3" testen, ich hoffe aber, dass es auch da funktioniert):

Delphi-Quellcode:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  MousePos : TPoint;
  Coord : TGridCoord;
begin
  MousePos := DBGrid1.ScreenToClient(Mouse.CursorPos);
  Coord := DBGrid1.MouseCoord(MousePos.X, MousePos.Y);
  ShowMessage(IntToStr(Coord.X) + ', ' + IntToStr(Coord.Y));
end;
Wie Du siehst, musst Du Dich hier auf das Ereignis "OnCellClick" "stürzen".

Viele Grüße,

Bolt Thrower
In Kamerun gibt's heit Gratismoscht!
  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: Mausposition im DBGrid

  Alt 24. Apr 2007, 14:53
Hallo Bolt Thrower,

Leider hats nicht funktioniert. Delphi erkennt den Bezeichner <Mouse> nicht. Vielleicht muss ich irgendeine Unit noch einbinden. Oder Delphi 3 hat noch nicht diese Funktionalität. Ich hoffe aber, dass ich bald eine neuere Delphi-Version bekomme.

Trotzdem vielen Dank !!!
Peter Steffens
  Mit Zitat antworten Zitat
Bolt Thrower

Registriert seit: 2. Sep 2004
Ort: Weilheim
22 Beiträge
 
#4

Re: Mausposition im DBGrid

  Alt 24. Apr 2007, 15:22
Hab' gerade gelesen, dass TMouse bis einschließlich "Delphi 3" nicht zur Verfügung steht.

Alternativ könntest Du allerdings auf folgende Weise versuchen, TMouse zu umgehen:

Delphi-Quellcode:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  P : TPoint;
  MousePos : TPoint;
  Coord : TGridCoord;
begin
  GetCursorPos(P);
  MousePos := DBGrid1.ScreenToClient(P);
  Coord := DBGrid1.MouseCoord(MousePos.X, MousePos.Y);
  ShowMessage(IntToStr(Coord.X) + ', ' + IntToStr(Coord.Y));
end;
Viele Grüße,

Bolt Thrower
In Kamerun gibt's heit Gratismoscht!
  Mit Zitat antworten Zitat
fly_singapore

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

Re: Mausposition im DBGrid

  Alt 26. Apr 2007, 13:56
Hallo Bolt Thrower


Im Prinzip klappt es schon gut. Ich brauche aber dafür die absoluten Pixelkoordinaten. Vielleicht überlege ich mir, wie ich die gerade ausgelesen Werte in Koordinatenwerte umschlüsseln kann.


Vielen Dank für den Tip
Peter Steffens
  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 19:16 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