Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mausposition in Dokumentkoordinaten

Mausposition in Dokumentkoordinaten
31.07.2002 20:35:31
Alex
Hallo Leute!

Ich möchte ein Rechteck in einem Excel- Dokument
genau an der Stelle Zeichnen, wo der Benutzer mit
der Maus hingeklickt.
Über die User32 Lib bekomme ich die Mausposition in
Pixeln - aber wie rechne ich die in Excel- Koordinaten um?
Es soll natürlich auch klappen, wenn der Benutzer scrollt oder
zoomt.
Hat jemand eine Idee?

Herzlichen Dank


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Mausposition in Dokumentkoordinaten
31.07.2002 21:55:55
L.Vira
activecell.left
activecell.top
Re: Shape Objekt
31.07.2002 22:15:44
Alex
Hi
Danke, aber ich möchte ein Shape- Objekt erstellen.
Ich merke, ich habe falsch ausgedrückt :
Das Programm soll herausfinden, wohin der Benutzer
geklickt hat :

Type TPnt
x as long
y as long
end Type

Declare Function GetCursorPos Lib "user32" (lpPoint As TPnt)As Long

Function GetPoints(lpPoint As TPnt) as TPnt
...
end Function

sub Test
dim z1 as Tpnt
GetCursorPos z1
GetPoints z1
Sheets(SDraw).Shapes.AddShape(OType, z1.x, z1.left, 100,100)
end sub

so in etwa ;-)

Anzeige
Re: Shape Objekt
31.07.2002 22:45:28
L.Vira
Ein Shape- Objekt kann doch aber nur innerhalb der Tabelle erstellt werden. Wenn du die x/y- Postion verwendest, können die ja auch außerhalb des Tabellenblatts sein. Also ist die kleinstmögliche Postion [a1].left [a1.Top].
Re: Shape Objekt
31.07.2002 23:09:04
Alex

Ich brauche folgendes :

In einem Excel Tabellenblatt habe ich ein grosses
Bild eingefügt. z.B. den Plan eines Parkhauses.
Der Benutzer wählt in meiner Symbolleiste den Befehl
"Standort wählen" und klick dann auf den Plan.
Das Programm soll nun an diesem Punkt auf dem Plan ein
ein Rechteck zeichnen.
Das Bild hat in Excel folgende Angaben :
Left :0, Top :0, Height :100, Width : 200
Die GetCursorPos Function Liefert folgende Werte :
MouseX : 600, MouseX : 500 (meine Auflösung : 1280x1024)
der Benutzer hat aber auf die Mitte des Bildes geklickt,
was für Excel folgende Werte Bedeuten muss :
Left :50, Top :50
Wie komme ich zu diesen Werten??

vielen Dank für deine Mühe...

Anzeige
Re: Shape Objekt
31.07.2002 23:39:31
L.Vira
der Benutzer hat aber auf die Mitte des Bildes geklickt,
was für Excel folgende Werte Bedeuten muss :
Left :50, Top :50

Wie kommt das zustande? Oder meinst du Left = 100 Top = 50 ?

Re: Shape Objekt
01.08.2002 00:39:56
L.Vira
So wie du das beschreibst, hast du als Ereignis den Klick auf deine Parkhaus- Grafik. Eine allgemeingültige Aussage über die Klickposition läßt sich kaum machen, da das ja u.a. davon abhängt, wieviele Symbolleisten(und auch wo) eingeblendet sind, ob die Zeilen- und Spaltenköpfe eingeblendet sind usw. Das hat ja nun leider mit der X/Y- Postion nicht viel zu tun. Ich sehe da keine Chance, das zu koordinieren, würde mich aber freuen, wenn jemand eine Lösung dazu fände.
Anzeige
Re: Shape Objekt
01.08.2002 13:47:05
Alex
Sorry,
völlig richtig : Left=100

Das einzige, was ich bis jetzt in
dieser Richtung gefunden habe ist die
RangeFromPoint- Methode, die mir aber
bei einem grossem Bild unter dem Mauszeiger
immer nur dieses Bild liefern würde :-(
Trotzdem danke...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige