AGB  ·  Datenschutz  ·  Impressum  







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

2D Array und MausPosition

Ein Thema von citybreaker · begonnen am 1. Jun 2004 · letzter Beitrag vom 1. Jun 2004
Antwort Antwort
citybreaker
(Gast)

n/a Beiträge
 
#1

2D Array und MausPosition

  Alt 1. Jun 2004, 17:56
Hallo,

wie kann herrausfinden in welchem kasten der Mauscursor grade
ist und dann in einen Label z.B. X: 1 Y: 2 anzeigen?
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#2

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:04
Zitat von citybreaker:
Hallo,

wie kann herrausfinden in welchem kasten der Mauscursor grade
ist und dann in einen Label z.B. X: 1 Y: 2 anzeigen?
was verstehst du unter "kasten"?
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#3

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:10
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  p: TPoint;
begin
  GetCursorPos(p);
  Button1.Caption := 'X: ' + IntToStr(p.X) + ', Y: ' + IntToStr(p.Y);
end;
das ist doch mal ein anfang?!
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#4

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:12
Naja, also ich hab folgenden Code.

Delphi-Quellcode:
var map: Array[0..6,0..6] of Integer;
    x, y: Integer;
begin
  for x := 0 to 6 do
    for y := 0 to 6 do begin
      Map[x,y] := 0;
      if Map[x,y] = 0 then
        Image1.Canvas.Draw(x*32,y*32, Image2.Picture.Bitmap);
    end;
end;
Also hab ich quasi 32*32 Große kästen 6 Waagerecht und
6 Senkrecht. Nun möchte ich anzeigen auf welchem 32*32
Großen Kasten der Mauscursor sich befindet.

Also 1 Waagrecht, 2 Senkrecht
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#5

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:14
dann schau dir mal die funktion "ClientToScreen" an.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#6

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:17
Hab mir dir function mal in der OH angeschaut. Dort steht etwas von
P := TargetControl.ScreenToClient(SourceControl.ClientToScreen(P)); Irgendwie weiß ich nicht, dies in meinem Code anzuwenden.
  Mit Zitat antworten Zitat
Fib

Registriert seit: 21. Dez 2003
9 Beiträge
 
#7

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:28
Die Mausposition jeweils durch 32 teilen, würd ich ma sagen, also mausposition div 32 o.ä.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#8

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:36
Hab es jetzt so gemacht. Klappt wunderbar. Danke euch beiden.

Delphi-Quellcode:
procedure TMainFrm.SpielfeldMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  Label1.Caption := 'X: ' + IntToStr(x div 32) + ' | Y: ' + IntToStr(y div 32);
end;
  Mit Zitat antworten Zitat
StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#9

Re: 2D Array und MausPosition

  Alt 1. Jun 2004, 18:37
Sorry!

probier mal folgendes:
Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
// SetRoundMode(rmDown); // erstes kästchen wird zu 0|0
  SetRoundMode(rmUp); // erstes Kästechen wird zu 1|1
  ShowMessage('X: ' + IntToStr(round(X/32)) + ', Y: ' + IntToStr(round(Y/32)));
end;
  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 05:19 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