Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  UserForm aktuallisieren???

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  UserForm aktuallisieren??? (3216 mal gelesen)
Einstein
Mitglied
Zerspanungsmechaniker-Drehtechnik


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

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 27. Dez. 2005 18:30    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! Noch eine Kleinigkeit,
ich möchte in einem Label die aktuelle Uhrzeit (auf die Sekunde genau) anzeigen. Deshalb setze ich Label1.Text auf Time

Code:    Private Sub Label1_Click()
        Label1.Text = Time
        End Sub

Bei diesem Code, wird die Uhrzeit aber nur aktualisiert, wenn man auf das Label klickt. Das geht doch sicher noch anders, oder???

Bitte entschuldigt, wenn ich häufig relativ "dummen" Fragen stelle. Doch meine VBA Kenntnisse sind noch sehr bescheiden, lediglich mit qBasic kenne ich mich etwas aus!

Über schnelle Antworten freue ich mich sehr, Danke!


------------------
MfG  A. Einstein    

P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung!

[Diese Nachricht wurde von Einstein am 27. Dez. 2005 editiert.]

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

startrek
Moderator
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 27. Dez. 2005 22:56    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 Einstein 10 Unities + Antwort hilfreich

Hi Einstein,

wie relativ sind Userformen in der Theorie??

also theoretisch - praktisch gibts die Mousemove, _Click, _aktivate, _initialize, u.a. Ereignisse
für eine Userform, ggf. in Kombination mit .RePaint.
All diese Ereignisse würden auslösen, dass sich die Labelcaption ändert bzw. die Form sich aktualisiert.
Aber das, was du möchtest, das sekündliche aktualisieren der UF von alleine,
das geht so ganz ohne nicht. Du könntest zwar mit Timer oder Api's bissel was hinbiegen, aber:

Aber, stell Dir -  bevor du an so Dinge denkst - einfach mal paar Grundfargen:
- WOZU?
- Ist es unabdingbar, so eine Funktion in eine UF einbinden zu müssen,wenn ja, warum?
- Oder sind es bloß Glamour & Schnickschnack, der die Userform 'cool' aussehen lassen soll?

Sowas geht nicht ohne Nebenwirkungen ab, wie schlechte Performance,
zT. unmögliches Weiterarbeiten, solche 'Timerspielchen' sind 'der' Ressourcenverbrauch schlechthin.

Also sag' mal, wozu du das unbedingt brauchst, oder andersrum:
Never say never, aber denk' vorher einfach nochmal drüber nach ... ;;-))

Gruss, Nancy       

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

Einstein
Mitglied
Zerspanungsmechaniker-Drehtechnik


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

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 27. Dez. 2005 23:58    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 startrek, danke für deine AW!
Du hast recht, das is echt ein großer Ressourcenverbrauch! Aber eigentlich will ich das auch nicht so programmieren! Das Beispiel mit der Time-Aktualisierung sollte lediglich veranschaulichen welches Proplem ich habe. Wenn ich aber noch einmal recht darüber nach denke, bin ich der Meinung das es wirklich ein "dummes" Beispiel von mir war. ;-)

Naja, ich erkläre mein Problem am besten einmal wie es wirklich ist...

1. Der Benutzer der UserForm soll in eine TextBox eine Zahl eintragen können. Ich programmierte diese TextBox so, dass nur Zahlen, mit Punkt/. als Komma, eingetragen werden können.

2. Da der Benutzer aber auch Null/0 eintragen kann, dies allerdings keine gültige Eingabe ist, schalte ich einen CommandButton solange auf ".Enabled = True" bis die Eingabe größer als "0.0000...1" ist.
(Lässt sich blöd erkläre, sorry)

Noch ein Beispiel: Schreibt der Benutzer "0.000" in die TextBox, so soll der CommandButton auf ".Enabled = True" stehen, sobald er aber z.B. "0.0003" schreibt, soll der CommandButton auf ".Enabled = False" gesetzt werden UND SOFORT IN DER USERFORM AKTUALISIERT (zum klicken aktiviert) WERDEN!

Ich hab das so programmiert: (was auch funktioniert, aber immer erst beim klicken aktualisiert wird)

    If Val(TextBox1) > 0 Then
        CommandButton4.Enabled = False
    Else
        CommandButton4.Enabled = True
    End If

Wäre toll wenn du dich noch mal meldest! Danke


------------------
MfG  A. Einstein    

P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung!

[Diese Nachricht wurde von Einstein am 28. Dez. 2005 editiert.]

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

chs69
Mitglied


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

Beiträge: 3
Registriert: 02.11.2005

erstellt am: 28. Dez. 2005 10: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 Einstein 10 Unities + Antwort hilfreich

Hallo Einstein

Wie wärs mit:

Private Sub TextBox1_Change()
If TextBox1.Value > 0 Then
    CommandButton1.Enabled = True
Else
    CommandButton1.Enabled = False
End If
End Sub

Gruss
Christian

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 28. Dez. 2005 10:30    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 Einstein 10 Unities + Antwort hilfreich


form1.jpg


statusbar.jpg

 
Hallo Einstein,

so richtig weiss ich nicht was du machen willst. Normalerweise sollte doch ein Wert eingegeben worden sein um weiter zu arbeiten.

Aber das kannst du machen wie du willst. Du kannst die Events der Controls nutzen um die Eingaben zu kontrollieren.

Code:

Private Sub TextBox1_Change()
    If Val(Me.TextBox1.Text) > 0 Then
      Me.StatusBar1.Panels(1).Text = "OK"
      Me.BT_Test.Enabled = True
    Else
      Me.StatusBar1.Panels(1).Text = "Wert muss grösser 0 sein"
      Me.BT_Test.Enabled = False
    End If
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Val(Me.TextBox1.Text) = 0 Then
    Me.StatusBar1.Panels(1).Text = "Wert muss grösser 0 sein"
    Beep
    Me.TextBox1.SetFocus
  Else
    Me.StatusBar1.Panels(1).Text = ""
  End If
End Sub



Um z.B. auch die Uhrzeit anzeigen zu lassen kannst du dir eine Statusbar in das Formular holen. (Zusätzliche Steuerelemente: Mircosoft Statusbar Control). Wenn du hier ein paar Flächen einfügst kannt du dir unter anderem Uhrzeit, Datum, Caps- und Numlock etc. anzeigen lassen. Natürlich auch einen freien Text (siehe Code).

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.

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