AGB  ·  Datenschutz  ·  Impressum  







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

Mauspoitison zum Fenster

Ein Thema von Xaaroth · begonnen am 12. Okt 2008 · letzter Beitrag vom 15. Okt 2009
Antwort Antwort
Xaaroth

Registriert seit: 12. Okt 2008
6 Beiträge
 
#1

Mauspoitison zum Fenster

  Alt 12. Okt 2008, 17:57
Ich habe ein StringGrid. Mein Ziel ist es auf ein Feld des Grid zu klicken und damit zu erreich, dass einfach ein X in dem Feld eingefügt wird.
Das Grid selber hat ja keine OnKlick für die einzelnen Felder.
Also dachte ich mir ich nehme Mauspoitsion(relativ zur Form) und ziehe davon den Abstand zwischen der klinken Formularkante und der linken Gridkante ab.
Dann Teile ich Feldbreite durch die Breite eines Feldes. Damit wüsste ich dann in welchem Feld die Maus ist.

Aber woher bekomme ich die Mauspoitsion zum Formular?

Grüße
Xaaroth
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Mauspoitison zum Fenster

  Alt 12. Okt 2008, 18:00
StringGrid1.ScreenToClient(Mouse.CursorPos)
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Mauspoitison zum Fenster

  Alt 12. Okt 2008, 18:02
Oder einfach TStringGrid.MouseToCell benutzen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Xaaroth

Registriert seit: 12. Okt 2008
6 Beiträge
 
#4

Re: Mauspoitison zum Fenster

  Alt 12. Okt 2008, 18:23
Das verstehe ich noch nicht ganz. Was geben mir diese Funktionen denn zurücK?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Mauspoitison zum Fenster

  Alt 12. Okt 2008, 18:26
Zitat:
Die Methode MouseToCell gibt die Spalte und die Zeile der Zelle zurück, die sich an den Bildschirmkoordinaten X und Y befindet.
[edit]
Hier mal ein Beispiel:
Delphi-Quellcode:
procedure TForm1.StringGrid1Click(Sender: TObject);
var aCol, aRow: Integer;
    P: TPoint;
begin
  //Screen-Koordinaten in relative Koordinaten umrechnen
  P := StringGrid1.ScreenToClient(Mouse.CursorPos);
  //Entsprechende Zelle ermitteln
  StringGrid1.MouseToCell(P.X,P.Y,aCol,aRow);
  //fixe Spalten/Zeilen lasse ich mal außen vor
  if (aCol >= StringGrid1.FixedCols) and (aRow >= StringGrid1.FixedRows) then
    StringGrid1.Cells[aCol,aRow] := 'X';
end;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Mauspoitison zum Fenster

  Alt 15. Okt 2009, 12:45
//edit: Oh, ich bin so ein Trottel und poste in den falschen Thread...Bitte vielmals um Entschuldigung...
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  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 04:35 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