Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Userform mit Bild wiederverwenden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Userform mit Bild wiederverwenden (1955 mal gelesen)
Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 25. Mai. 2009 11:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

ich würde gerne eine Userform wiederverwenden. Das ganze läuft wie folgt ab:

- Erstelle Bild von Einzelteil in Baugruppe.
- Userform wird mit dem erstellten Bild als Ansicht gestartet. Show
- Interaktion wird durch Userform ausgeführt.
- Userform wird ausgeblendet. Hide
- Erstelle 2. Bild von nächstem Einzelteil in Baugruppe.
- Userform wird mit dem erstellten Bild als Ansicht gestartet. Show
- Interaktion wird durch Userform ausgeführt.
- Userform wird ausgeblendet. Hide
und so weiter...

Problem ist, das die Userform nur beim ersten Mal das richtige Bild zum richtigen Einzelteil anzeigt. Danach wird immer nur das Bild vom vorherigen Einzelteil angezeigt!

Ich hoffe Ihr könnt mir helfen!

MfG Jan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 25. Mai. 2009 11:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gepetto 10 Unities + Antwort hilfreich

Hallo,

hast du es mal mit einen UF1.refresh(bzw. UF1.repaint ist es glaub ich in VB.NET) vor dem erneuten Anzeigen versucht?

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 25. Mai. 2009 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,
Danke für deine schnelle Antwort, aber leider funktioniert auch kein Userform.repaint!

Ich habe das Bild, auf das sich die Userform bezieht, sogar nach Gebrauch gelöscht, dann das neue mit dem gleichen Namen erstellt und dann ein repaint gemacht. Trotzdem läd die Userform das alte!

erst wenn die Userform durchgelaufen ist, läd er sich das Bild und dann brauche ich das Bild nicht mehr sonder schon ein neues von einem dritten Einzelteil!

Hoffentlich gibt´s noch mehr Ideen!!

MfG Jan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 25. Mai. 2009 15:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gepetto 10 Unities + Antwort hilfreich

Hallo Jan,

na und wenn du gleich das Steuerelement dynamisch hinzufügst? Dann könntest du den Focus abfragen (hat ja keinen wenn die UF im NoShow steht). Kurz bevor die UF wieder ein Focus bekommt löscht du das alte Steuerelement (mitsamt altem Bild) raus und fügst ein neuens Steuerelement mitsamt neuem Bild hinzu. Leider hab ich gerade weder CATIA noch VB am laufen werd´s aber heut abend mal kurz testen und dann nochmal ein Feedback geben 

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 26. Mai. 2009 07:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,
Hört sich ganz gut an.

Ich verstehe noch nicht ganz was Du mit Steuerelement meinst?
Vorallem wie ich das lösche oder neu hinzufüge!

Vielleicht hast Du es gestern Abend schon getestet und kannst mir heute erläutern wie es funktioniert!

MfG Jan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Mai. 2009 08:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gepetto 10 Unities + Antwort hilfreich

Hallo,

sorry erst mal, bin gestern Abend nicht mehr dazu gekommen  (Verabschiedungsvideo meines Chefes noch zusammengeschnitten und das hat gedauert  ).

Jetzt zu den Steuerelementen:

Du hast ja eine UserForm. Auf dieser Form fügst du das Steuerelement "Picture" ein. In dieses Steuerelement lädst du dein Bild. Jede UserForm hat somit auch eine Steuerelement-Collection (in der sich alle auf der UserForm vorhandenen Steuerelemente befinden). Löschst du aus dieser Collection dein Picture-Steuerelement ist es weg. Andererseits kannst du natürlich ein Steuerelement während der Laufzeit zur Collection hinzufügen.

Ein kleines anschauliches Beispiel:

Du hast eine UserForm mit einem Button drauf (Der Count deiner Steuerelement-Collection ist somit = 1). Klickst du auf den Button willst du einen weiteren Button auf der UserForm anzeigen (der Count erhöht sich auf 2).
D.h. in der Klick-Ereigniss des ersten Buttons musst du die Collection um einen Button erweitern. Damit ist es dynamisch. Das ganze kann man mit allen Steuerelementen machen die zur Verfügung stehen.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 26. Mai. 2009 11:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Fehler_.jpg

 
Hallo Daniel,
mein erster Ansatz hat leider einen Fehler ergeben:

Sub ansprechen()

Ansichtsauswahl.Show
Ansichtsauswahl.Hide

Ansichtsauswahl.Controls.Remove "Vorschau"

End Sub

Vielleicht kannst Du mir kurz erklären wie ich das Steuerelement löschen oder ersetzen kann.
Das wäre prima 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Mai. 2009 21:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gepetto 10 Unities + Antwort hilfreich


LoadDynamic.zip

 
Hallo Jan,

dieser Fehler tritt auf wenn du versuchst ein Steuerelement aus der Controls-Collection zu enfernen das während des Entwurfmodi erstellt wurde. Soll heißen man kann während der Laufzeit nur Steuerelemente entfernen wenn man sie auch während der Laufzeit erstellt hat.

Hab dir gerade mal ein kleines Beispiel zusammengebastelt. Importiert dir das mal und schau dir das mal an. Hier wird einem Steuerelement (Image) ein neues Bild während der Laufzeit zugewiesen OHNE das Steuereelement zu löschen. Die Eigenschaft ist Picture und die Methode das LoadPicture.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 27. Mai. 2009 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sorry, aber ich kann deine Userform nicht öffnen!
Ich bekomme immer wieder mehrere Fehler.

Kannst Du mir einfach den Quellcode als Text.datei hierreinstellen, damit werde ich wohl auch zurecht kommen!

Danke!

MfG Jan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 27. Mai. 2009 11:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gepetto 10 Unities + Antwort hilfreich

Hallo,

kann ich machen das Problem ist dann hast du nur den Quellcode und nicht gleich die UserForm. Ich kann dir aber auch die ganze catvba anhängen wenn ich zugriff darauf habe (außer Haus unterwegs).

Öffnen kannst du die *.fm Datei so und so nicht. Du musst dir erst ein neues CATVba-Projekt erzeugen und dann die *.fm datei importieren (File -> Import war das glaub ich  )

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 27. Mai. 2009 11:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

entschuldige bitte das ich mich falsch ausgedrückt habe. Ich habe natürlich ein CATvba-Projekt gestartet und die *.frm versucht zu importieren. Dabei sind dann die Fehler gekommen!

Wenn Du mir bei Gelegenheit, das CATvba-Projekt zuschicken kannst, wäre das super!

MfG Jan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 28. Mai. 2009 06:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Gepetto 10 Unities + Antwort hilfreich


LoadDynamic.zip

 
Guten Morgen Jan  ,

ich habe gerade gesehen das es vermutlich mein Fehler war. Beim exportieren des Projekt´s hat CATIA 2 Dateien geschrieben ich hab dir aber nur eine gepackt  .

Naja in diesem *.zip-File sind jetzt beide Dateien und zusätzlich die *.catvba-Datei.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Gepetto
Mitglied
Diplomand auf Arbeitssuche


Sehen Sie sich das Profil von Gepetto an!   Senden Sie eine Private Message an Gepetto  Schreiben Sie einen Gästebucheintrag für Gepetto

Beiträge: 32
Registriert: 04.03.2009

erstellt am: 28. Mai. 2009 07:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin Daniel,

Du bist anscheinend auch recht früh am Arbeiten?! 

Ich hab gerade deine Userform importiert und das hat auch geklappt. Außerdem hab ich mir deinen Quelltext angeguckt und ich habe jetzt das Steuerelement wie folgt erstellt:

    '***Bild hinzufügen
    'Variablen deklarieren
    Dim myPictureBox As MSForms.Image
   
    'Box hinzufügen mit den entsprechenden Eigenschaften
    Set myPictureBox = Me.Controls.Add("Forms.Image.1", "Vorschaubild", True)
    With myPictureBox
        .Left = 336
        .Top = 18
        .Width = 390
        .Height = 312
        .Picture = LoadPicture(Name)
        .PictureAlignment = fmPictureAlignmentCenter
        .PictureSizeMode = fmPictureSizeModeStretch
    End With

Dann habe ich über einen Counter in der Schleife beim nächsten Bild vor dem Laden der Userform die neue Vorschau erstellt und diese dann über:

    '***Bild hinzufügen
    'Variablen deklarieren
    Dim myPictureBox As MSForms.Image
   
    'Box hinzufügen mit den entsprechenden Eigenschaften
    Set myPictureBox = Me.Controls.Add("Forms.Image.1", "Vorschaubild", True)
    With myPictureBox
        .Left = 336
        .Top = 18
        .Width = 390
        .Height = 312
        .Picture = LoadPicture(Name)
        .PictureAlignment = fmPictureAlignmentCenter
        .PictureSizeMode = fmPictureSizeModeStretch
    End With

an die gleiche Stelle hinzugefügt wie das erste Bild.

Jetzt läuft alles so wie ich es wollte!!! Tausenddank!!!

Aber eine Frage habe ich noch. Ist es nötig das alte Steuerelement zu löschen, weil es sonst zu viel Speicher frist und evtl. ein Absturz droht wenn ca. 50 Vorschauen erstellt werden?

MfG Jan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz