vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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
Label auf PictureBox kopieren 
Autor: Landrover
Datum: 27.08.20 22:35

Ich habe, oder VBA hat ein Problem.
Vielleicht kann mir hier jemand weiterhelfen. Mit den üblichen VBA-Unterlagen habe ich keinen Erfolg gehabt.
Software: VBA: Retail 6.0.8169 Version 8176


Meine Frage:
In der PictureBox (PicBild) habe ich ein Label (LblUhrzeit) eingefügt.
Wie kann ich von diesem Label eine Kopie erstellen und dann unter einem
neuen Namen (LblUhrzeit1) wieder in die PictureBox (PicBild) einfügen.
Die Labels müssen Eigenständig sein und dürfen keinen Index haben.

Der Projekt Aufbau:
Formular Form1
Darin enthalten sind:
Befehlsschaltfläche CommandButton (Command1)
PictureBox mit Name (PicContainer)
Im (PicContainer) ist eine weitere PictureBox mit Namen (PicBild) enthalten.
In die PictureBox (PicBild) habe ich ein Label (LblUhrzeit) eingefügt.


Option Explicit
 
Dim NeuLbl As Label                                 'Variable für 
' Label-Erstellung
 
Dim Z_Time As Integer                               'Zähler für die 
' Uhrzeit-Labels
Dim Z_Date As Integer                               'Zähler für die Datum-Labels
 
Dim LbTimeX As Long                                 'Label-Uhrzeit-X-Position
Dim LbTimeY As Long                                 'Label-Uhrzeit-Y-Position
Dim LbTimeB As Long                                 'Label-Uhrzeit-Breite
Dim LbTimeH As Long                                 'Label-Uhrzeit-Höhe
Dim LbDateX As Long                                 'Label-Datum-X-Position
Dim LbDateY As Long                                 'Label-Datum-Y-Position
Dim LbDateB As Long                                 'Label-Datum-Breite
Dim LbDateH As Long                                 'Label-Datum-Höhe
 
 
Private Sub Command1_Click()                    'Test-Programm zum anlegen von 
' Label zur Laufzeit.
 
  Z_Time = Z_Time + 1                               'Zähler bei jedem Aufruf +1
 
  'Das erstellen von Labels auf dem Formular klappt.
                                                'Das Neue Labelbekommt den 
                                                ' Namen "Lblx"
  Set NeuLbl = Form1.Controls.Add("VB.Label", "Lbl" & Z_Time)
  NeuLbl.Move LbTimeX, LbTimeY, LbTimeB, LbTimeH    'Label auf aktuelle 
  ' Position setzen
  NeuLbl.BackColor = &H8000000F                     'Hintergrundfarbe
  NeuLbl.BorderStyle = 0                            'Border-Styl
  NeuLbl.Font = "Schriftart: Arial, 8 pt, fett"     'Schrift-Styl
  NeuLbl.Caption = Time                             'Aktuelle Uhrzeit eintragen
  NeuLbl.Visible = True                             'Label sichtbar schalten
  LbTimeY = LbTimeY + 300                           'Label-Y-Position 
  ' nachstellen.
 
 
 
  'Das Verschieben des Labels auf der PictureBox und das anzeigen der Uhrzeit 
  ' klappt.
  LblUhrzeit.Move 500, LbTimeY, LbTimeB, LbTimeH    'Label auf neue Position 
  ' setzen und
  LblUhrzeit.Caption = Time                         'Aktuelle Uhrzeit eintragen.
 
End Sub
 
 
 
Private Sub Form_Load()
 
  ' Uhrzeit-Start-Koordinaten festlegen
  LbTimeX = 50                                      'Label-Uhrzeit 
  ' X-Start-Position
  LbTimeY = 100                                     'Label-Uhrzeit 
  ' Y-Start-Position
  LbTimeB = 1200                                    'Label-Uhrzeit Breite
  LbTimeH = 204                                     'Label-Uhrzeit Höhe
 
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Souffleurlos
Datum: 28.08.20 13:58

Hallo Landrover,

UserForm1.Controls.Add("VB.Label", "Lbl" & Z_Time)

nicht Form1.Controls.Add

In VBA heißt dieses Klasse UserForm

Ansonsten verstehe ich kaum, was Du eigentlich machen willst.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Landrover
Datum: 28.08.20 16:55

Hallo Souffleurlos

Danke für deine Antwort.

Dein Vorschlag klappt leider nicht.
Wenn ich den Befehl einfüge bekomme ich folgende Fehlermeldung.
"Fehler beim Kompilieren: Variable nicht definiert"
Ist aber auch logisch, im Projekt ist kein Formular mit dem Namen UserForm1 vorhanden
und dann nimmt VBA an, das es sich um eine Variable handelt.
Hier liegt auch nicht mein Problem.

Auf meinem Formular "Form1" ist eine PictureBox als "PicContainer" abgelegt.
In dem Container ist eine weitere PictureBox "PicBild" abgelegt (wegen Scrollfunktion).
In der PictureBox "PicBild" benötige ich mehrere Labels für ein Zeit-Diagramm.
Die Labels können durch Kopieren eines schon vorhandene Labels in der PicBox "PicBild" erzeugt werden,
oder sie werden auf der PictureBox "PicBild" neu angelegt.
Beide Varianten sind möglich.

Vielleicht hat jemand eine Lösung.

Mit Sonnigen Grüßen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Souffleurlos
Datum: 28.08.20 18:18

Hallo,
nochmal: In VBA heißt die Form standaardmäßig nicht Form, sondern UserForm. In VBA gibt es keine PictureBox.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Landrover
Datum: 29.08.20 00:25

Hallo Souffleurlos

Ich glaube wir haben etwas aneinander Vorbei-Gedacht.
Die Bezeichnung VBA habe ich aus dem Menüfeld "Info zu Microsoft Visual Basic..."
abgeleitet da ich hier die Versionsnummer angegeben habe.
Software: VBA: Retail 6.0.8169 Version 8176

Es handelt sich hierbei aber um Visual-Basic 6.0

Und hier gibt es dann schon Form und PictureBox.

Mit fast Vollmond-Grüßen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Souffleurlos
Datum: 29.08.20 19:20

Hallo Landrover,

wenn das so ist, dann verstehe ich Deine Frage erst recht nicht. Forms hat doch eine wunderbare Eigenschaft namens Form1.Controls. Du zeigst in deinem Code auf, dass Du diese korrekt bedienst.
Du gibst ja schon den zur laufzeit hinzugefügten Labels den Namen etc.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Landrover
Datum: 29.08.20 19:35

Hallo Souffleurlos

Danke für deine Antwort.

Die Labels kann ich derzeit nur auf der Form anlegen und nicht in der PictureBox
wo ich sie benötigen würde.
Ein verschieben der Labels von der Form in die PictureBox würde mein Problem auch lösen.

Mit Verregneten Grüßen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Rippler
Datum: 29.08.20 22:25

Dim NeuLbl As Label             'Variable für Label-Erstellung
 
Dim Z_Time As Integer           'Zähler für die Uhrzeit-Labels
Dim Z_Date As Integer           'Zähler für die Datum-Labels
 
Dim LbTimeX As Long            'Label-Uhrzeit-X-Position
Dim LbTimeY As Long            'Label-Uhrzeit-Y-Position
Dim LbTimeB As Long            'Label-Uhrzeit-Breite
Dim LbTimeH As Long            'Label-Uhrzeit-Höhe
 
Private Sub Command1_Click()
 
        'Zähler bei jedem Aufruf +1
    Z_Time = Z_Time + 1
 
        'Neues Label
    Set NeuLbl = Form1.Controls.Add("VB.Label", "Lbl" & Z_Time)
 
        With NeuLbl
                    'Hintergrundfarbe, Border-Styl, Schrift-Styl
            .BackColor = &H8000000F
            .BorderStyle = 1
            .Font = "Schriftart: Arial, 8 pt, fett"
                    'Label Beschriftung
            .Caption = Time
                    'Label in Container
            Set .Container = Picture1
                    'Label auf aktuelle Position setzen
            .Move LbTimeX, LbTimeY, LbTimeB, LbTimeH
                    'Label sichtbar schalten
            .Visible = True
 
        End With
 
        Set NeuLbl = Nothing
 
            'Label-Y-Position nachstellen.
        LbTimeY = LbTimeY + 300
End Sub
 
Private Sub Form_Load()
 
        'LabelUhrzeit XY Start-Koordinaten festlegen
    LbTimeX = 50
    LbTimeY = 100
        'Label-Uhrzeit Breite/Höhe festlegen
    LbTimeB = 1200
    LbTimeH = 285
 
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Label auf PictureBox kopieren 
Autor: Landrover
Datum: 31.08.20 10:59

Hallo Rippler

Einen ganz ganz großen Dank von mir.

Dein Tipp funktioniert super.
Ich währe nie darauf gekommen das man mit einem zweiten Set das Label
auf die PictureBox verschieben kann.

Damit hat sich mein Problem erledigt !!!

Und nochmals vielen Dank an alle, die hier mit Rat und Tat
zur Seite stehen wenn etwas nicht klappt.

Mit Halbschatten Grüßen
von Landrover
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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