kostenloser Webspace werbefrei: lima-city


X und Y von einem Objekt in Pixeln

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    jpaket

    jpaket hat kostenlosen Webspace.

    Hi,

    Ich muss für die Schule ein kleines Spiel in VisualBasic programmieren. Da ich unter Linux kein VB hab, hab ich es erstmal in Gambas programmiert. Hat alles wunderbar funktiniert. Jetzt will ich das ganze in VB machen.

    Ich will dass er die X und Y - Koordinaten von einem Image ändert. Ich habe eine Funktion die die Y-Koordinate immer ändert (X bleibt gleich). Ich benutze die Methode Objekt.Left und Objekt.Top, nur anscheinend benutzt VB als Maßeinheit keine Pixel. Kann man das ändern und wie kann ich das umrechnen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Natürlich verwendet VB (und VB.Net) Pixel als Maßeinheit,
    aber vielleicht hast du einen Fehler in deinem Code?
  4. Moment dadd stimmt nich. VB.NET hat Pixel, VB6 aber Twips. Machs aber doch einfach mit Twips, wenn du VB6 hast?? Du kannst das aber auch mit * Screen.TwipsperPixelX und Y umrechnen. Und ein son Raster auf der Form sind 120 Twips. Und wenn du VB.NET hast machst du in der tat was falsch.
  5. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Moment... das stimmt auch noch nicht ganz..

    VB 6 verwendet standardmaessig Twips, man kann aber auf Pixel umstellen:


    MsgBox "50 Pixel vom linken Rand entfernt:"
    Me.ScaleMode = vbPixels
    Me.Image1.Left = 50


    MsgBox "50 Twips vom linken Rand entfernt:"
    Me.ScaleMode = vbTwips
    Me.Image1.Left = 50

  6. Autor dieses Themas

    jpaket

    jpaket hat kostenlosen Webspace.

    Hi,

    Also ich habe in der Tat VB 6, nur das einzige Problem ist jetzt noch, dass VB meckert dass es die Methode "ScaleMode" gar nicht gibt.
  7. Also meiner Meinung nach hat Battlesoft(Wie soll ich sonst sagen, Keck?) recht.
    Hab des auch immer mit twips gemacht.
    Ich benutze des z.b. um die Mauspos genau festzulegen
    Du machst wenn ichs noch richtig weiß Object.top / screen.twipsperpixely
    Das gibt dir dann die genau Position auf der Form!
    Also wenn da 1 rauskommen würde, wäre das am oberen Rand der Form. Nicht am oberen Rand des Bildschirms!
    Hab VB6 grad nich installiert (jaja pscht, keck) sonst könnt ichs testen, aber so müssts gehn!

    Beitrag geaendert: 18.1.2007 21:38:33 von martix
  8. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Hi,

    Also ich habe in der Tat VB 6, nur das einzige Problem ist jetzt noch, dass VB meckert dass es die Methode "ScaleMode" gar nicht gibt.


    Versteh ich net, dass es bei dir die Eigenschaft nicht gibt...
    Vielleicht hast du eine andere Version? Ich hab nochmal bei mir nachgeschaut:
    Microsoft Visual Basic 6.0 ServicePack 3

    Und die Eigenschaft kann ich bei mir so aufrufen:
    Form1.ScaleMode = vbPixels
  9. Autor dieses Themas

    jpaket

    jpaket hat kostenlosen Webspace.

    Hi,

    Also ich hatte als erstes beim Image den ScaleMode versucht zu ändern. Jetzt hab ich ma versucht vom UserForm, geht aber auch nicht.

    Achso, ich sollte vielleicht noch sagen, dass ich das VB in Word benutze (muss für Schule)

    Beitrag geaendert: 20.1.2007 17:57:22 von jpaket
  10. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    jpaket schrieb:
    Hi,

    Also ich hatte als erstes beim Image den ScaleMode versucht zu ändern. Jetzt hab ich ma versucht vom UserForm, geht aber auch nicht.

    Achso, ich sollte vielleicht noch sagen, dass ich das VB in Word benutze (muss für Schule)

    Beitrag geaendert: 20.1.2007 17:57:22 von jpaket


    Nett von dir, dass du jetzt erst sagst, dass du nicht Visual Basic (VB) verwendest, sondern Visual Basic for Appliations (VBA)! Denn in VBA sind einige Funktionen und Eigenschaften nicht verfügbar!!

    Und VB ist nicht das gleiche wie VBA!
  11. Autor dieses Themas

    jpaket

    jpaket hat kostenlosen Webspace.

    Hi,

    sorry. Hätte ich dran gedacht, hätte ich es euch gleich gesagt. Kann mir trotzdem vielleicht jemand helfen?
  12. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Gilt nur für VBA:

    Twips in Pixel umrechnen: MeinePixel = PointsToPixels(MeineTwips)
    Pixel in Twips umrechnen: MeineTwips = PixelsToPoints(MeinePixel)



    Beispiel für eine Bewegung von einem Steuerelement:

    Option Explicit

    Private Sub CommandButton1_Click()

    Dim StartPosition As Integer
    StartPosition = PixelsToPoints(0)
    Dim EndPosition As Integer
    EndPosition = PixelsToPoints(50)

    Me.Image1.Left = StartPosition

    Dim i As Integer
    For i = StartPosition To EndPosition
    Me.Image1.Left = i
    Me.Repaint
    Pause (0.05)
    Next i
    For i = EndPosition To StartPosition Step -1
    Me.Image1.Left = i
    Me.Repaint
    Pause (0.05)
    Next i

    End Sub


    Sub Pause(ByVal Sekunden As Double)
    Dim Anfang As Double
    Anfang = Timer
    Do
    Loop While Timer < Anfang + Sekunden
    End Sub
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!