
Ergebnis 1 bis 8 von 8
-
Bin neu hier
- 13.08.2008, 16:15
- #1
Hallo
Ich versuche schon seit einiger Zeit folgendes hinzubekommen. Ich habe in VB 2008 ein form mit einer Textbox. jetzt hätte ich gerne, dass die Koordinaten des Stylus (mit dem ich auf dem Form herumfahre) in diese Textbox geschrieben werden. In weiterer Folge würde ich gerne Objekte (z.B ein Label) mit dem Stift auf dem Form verschieben. Ich habe leider überhaupt keinen Plan wie ich das hinbekommen könnte. Ich wäre dankbar für jeden Hinweis oder natürlich auch für ein paar Zeilen Code
lg Daniel
-
entwickelt Apps
- 13.08.2008, 17:25
- #2
Um die Koordinate zu erhalten, muss auf der Form auf den event MouseMove reagiert werden. Dazu in den Designermodus wechseln und bei den Properties der Form die Events wählen (der gelbe Blitz) und dann auf den Event doppelklicken. In diesem Event kann jetzt die aktuelle Position in die TextBox geschrieben werden (z.B. textBox.Text = string.Format("x:{0}, y:{1}", e.X, e.Y))
Das Verschieben einzelner Elemente hängt von der Art der Elemente ab. Was genau müssen diese Elemente darstellen. Denn auch hier kann man auf MouseDown und MouseMove reagieren, nur stehen diese Events nicht bei allen Controls zur Verfügung.
-
Bin neu hier
- 13.08.2008, 17:30
- #3
danke heliosdev für deine rasche und gute Antwort. Es geht beim verschieben von Objekten eigentlich um bildobjekte (picturebox) und labels. ich würde irgendwann gerne ein menü in der Art von HTC's Touch Flow 3d machen. dazu brauche ich die Stylusposition auf einem Label oder auf dem Form...
lg Daniel
werde deinen Tip demnächst probieren...
-
entwickelt Apps
- 13.08.2008, 17:39
- #4
Das Label hat im Gegensatz zur PictureBox keine Mouse events. Da muss dann auf MouseDown auf der Form ein HitTest mit den Labels gemacht werden. (Durch die Labels iterieren und das jeweilige Rechteck (aus Location und Size des Labels) testen, ob der MouseDown Punkt innerhalb liegt (Rectangle.Contains Methode))
-
Bin neu hier
- 13.08.2008, 17:44
- #5
ich glaube ich komme mit der PictureBox auch weiter und brauche ev. keine Labels
Danke daniel
-
Bin neu hier
- 13.08.2008, 18:02
- #6
hallo heliosdev
dein Tip hat super funktioniert. Ich hätte da allerdings noch eine Frage und zwar ob ich das Positionieren der PictureBox so richtig mache (funktionieren tuts).
Code:PictureBox1.Location = New Point(e.X, e.Y)
-
entwickelt Apps
- 13.08.2008, 18:25
- #7
Nun, eigentlich nicht ganz, denn die Location ist die linke, obere Ecke der PictureBox. Um korrekt zu sein, müsste man beim MouseDown die Differenz zwischen Location und aktueller Position speichern und dann beim MouseMove von der aktuellen Position die Differenz abziehen. (mach Dir eine Skizze, falls unklar)
(Man kann auch die aktuelle Position auf MouseDown speichern, dann auf MouseMove die Differenz zur gespeicherten Position berechnen, diese der Location hinzu addieren und die gespeicherte Position durch die aktuelle Ersetzen. Also beim MouseMove gibt es jeweis in x und y ein +1, -1 oder keine Änderung für die Location)
Vorerst würde ich es so lassen und gegebenfalls beim Optimieren/Verbessern ändern!
-
Bin neu hier
- 13.08.2008, 18:52
- #8
das habe ich schon gewusst ich wollte eigentlich nur nach der generellen Art und Weise fragen
Da daran keine Kritik zu hören war nehme ich den Lösungsanstz als richtig an. Danke jedoch für den Hinweis...
daniel
Ähnliche Themen
-
Schweizer Koordinaten...?
Von marhan im Forum HTC P3300Antworten: 7Letzter Beitrag: 23.11.2009, 20:18 -
GPS Koordinaten auslesbar?
Von Spock im Forum MioAntworten: 2Letzter Beitrag: 28.05.2007, 08:16 -
Navi: Gespeicherte Koordinaten werden nicht gespeichert
Von Karl im Forum HTC P3300Antworten: 0Letzter Beitrag: 09.03.2007, 10:50 -
Koordinaten Navigation
Von Matias im Forum PlaudereckeAntworten: 0Letzter Beitrag: 17.04.2006, 10:57 -
stylus
Von ozon im Forum ProgrammierenAntworten: 1Letzter Beitrag: 27.11.2004, 07:52
Pixel 10 Serie mit Problemen:...