vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: picturebox aus code generieren 
Autor: Zardoz
Datum: 27.08.12 00:12

Hallo Trochilon,
beim Posten von Code bitte den entsprechenden Button verwenden.
Dann ist der Code lesbarer. Der Timer muss eingeschaltet werden:
  Timer1.Enabled = True
Du gibst Breite und Höhe im Timer-Event mit 0 an. Dadurch ist die
Picturebox nicht sichtbar. Weiterhin trägst du immer die selben
Positionen per Timer ein. Entweder, die alte Position auslesen
und einen Wert dazuaddieren, oder die Positionen in einem globalen
Array speichern, neu berechnen, zurückschreiben und bei den
Pictureboxen eintragen. Die Verwendung von With sollte keine Probleme
bereiten. Als Einheit verwendest du besser Pixel. Das ist übersicht-
licher und erleichtert später den Einsatz von Api-Funktionen.
Probier' mal dies:
Private PicB(10) As PictureBox
Private Pi!
 
Private Sub Form_Load()
 
  Dim i As Integer
 
  Me.ScaleMode = vbPixels
  Me.WindowState = vbMaximized
  Pi = 4 * Atn(1)
  Randomize
  For i = 0 To UBound(PicB)
    Set PicB(i) = Me.Controls.Add("VB.PictureBox", "pic" & i)
    With PicB(i)
      .Move 0, 0, 100, 100
      .BackColor = Rnd * &HFFFFFF
      .Visible = True
    End With
  Next i
 
  Timer1.Interval = 20
  Timer1.Enabled = True
 
End Sub
 
Private Sub Timer1_Timer()
 
  Dim i&, N&, XPos!, YPos!, Wnk!, Rad!
  Static Offs!
 
  N = UBound(PicB) + 1
  Rad = 200
  For i = 0 To UBound(PicB)
    Wnk = 2 * Pi / N * i + Offs
    XPos = Me.ScaleWidth / 2 + Rad * Cos(Wnk)
    YPos = Me.ScaleHeight / 2 - Rad * Sin(Wnk)
    PicB(i).Move XPos, YPos
  Next i
  Offs = Offs + 0.02
  If Offs >= 2 * Pi Then Offs = Offs - 2 * Pi
 
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
 
  Dim i&
 
  Timer1.Enabled = False
  ' Speicher freigeben
  For i = 0 To UBound(PicB)
    Me.Controls.Remove PicB(i)
  Next i
 
End Sub

Gruss,

Zardoz

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
picturebox aus code generieren2.020Trochilon25.08.12 15:40
Re: picturebox aus code generieren1.377Blackbox25.08.12 22:18
Re: picturebox aus code generieren1.393Trochilon25.08.12 22:59
Re: picturebox aus code generieren1.382Zardoz26.08.12 00:15
Re: picturebox aus code generieren1.388Trochilon26.08.12 00:39
Re: picturebox aus code generieren1.377Zardoz26.08.12 03:29
Re: picturebox aus code generieren1.350Trochilon26.08.12 14:53
Re: picturebox aus code generieren1.379Trochilon26.08.12 22:52
Re: picturebox aus code generieren1.387Zardoz27.08.12 00:12
Re: picturebox aus code generieren1.404Trochilon27.08.12 02:06
Re: picturebox aus code generieren1.336Zardoz27.08.12 21:07
Re: picturebox aus code generieren1.384Trochilon27.08.12 20:47
Re: picturebox aus code generieren1.320Zardoz27.08.12 21:09
Re: picturebox aus code generieren1.360Trochilon27.08.12 21:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel