Bewegende tekst in textbox!

Status
Niet open voor verdere reacties.

renew000

Gebruiker
Lid geworden
7 feb 2009
Berichten
151
Hallo experts,

OveraL heb ik gezocht maar nergens ben ik het tegengekomen waardoor ik me inmiddels afvraag of het wel mogelijk is:

Om bewegende tekst in een textbox te hebben... Je weet wel, van die balken waarbij de tekst zich van rechts naar links beweegt en vervolgens dus ook links uit beeld (de textbox) verdwijnt.

Wie o wie heeft de oplossing

Greetz
Renew
 
Dat kan met de volgende vba code:

Deze is voor een cel

Code:
Sub Tester1()

Dim sp As String

Dim sTxt As String

Dim x As Integer, y As Integer

Dim Start, delay



sTxt = "Hi there!!"



For y = 1 To 15                                               '15 Loops through the scrolling

    For x = 1 To 30                                           'Index number of times

        Start = Timer                                         'Set start to internal timer

        delay = Start + 0.15                                  'Set delay for .15 secs



        Do While Timer < delay                                'Do the display routine

            [D6] = Space(x) & sTxt                            'Show 1 str @ a time

            DoEvents                                          'do there things

        Loop                                                  'Loop until delay is up

        DoEvents

        Start = Timer                                         'and reset the timer

        delay = Start + 0.15                                  'and the delay

    Next x                                                    'Show the next str

Next y                                                        'Do this again - 15



[D6] = ""                                                     'Reset



End Sub
 
hmmm... die had ik ook al gevonden, maar ik vraag me af of dit voor een tekstbox mogelijk is?

Zoja.. hoe??? ;)

greetz
 
Wat je kunt doen is de textbox steeds vullen met behulp van een timer.


Verklaar eerst een variabele

Code:
Dim count as integer = 0
In de timer zet je:

If count < 25.then
Count + 1
Dim value as string = nothing
String = textbox1.text

Textbox1.text. = " " & value

Else 
Textbox1.text = ".                    " & oorspronkelijke text
End if
 
Laatst bewerkt door een moderator:
Beste mastermindzh

Met de timer mogelijkheden heb ik totaal nog niet gewerkt en hoop dat je aan de hand van een voorbeeld kunt laten zien hoe het werkt:

Heb zelf namelijk een vrij simpel formulier gemaakt, maar hierin wil ik graag onderin een soort nieuwsbalk wil hebben.

In het voorbeeld heb ik de volgende besturingselementen geplaatst.

Textbox1 (hier moet de uiteindelijke animatie te zien zijn)
Textbox2 (Hier kan je tekst typen of kopieeren)
CommandButton1 (zet de tekst uit Textbox2 naar Label1)
Label1 (Dit is de bron voor de tekst in Textbox1)

Ik heb in het voorbeeldbestand de tekstbox2, de knop en het label opgenomen omdat het op deze manier makkelijk wordt gemaakt om de tekst die in Textbox 1 wordt weergegeven te wijzigen.

Verder zal de informatie die geplakt zal worden in textbox2 een opsomming zijn (punten van een vergadering)
Als voorbeeld zat ik te denken aan bijvoorbeeld:

  • Punt 1: Opening
  • Punt 2: Onderwerp 1
  • Punt 3: Onderwerp 2
  • Punt 4: Rondvraag en afsluiting

Hoop echt dat je me hierbij kan helpen

greetz
 

Bijlagen

wow dat is precies ( en beter )wat ik bedoelde, maar helaas kan ik de VBA-code niet inzien. Is dat bewust? Ben namelijk erg nieuwsgierig....

Alvast bedankt

greetz
 
de code is helemaal niet verborgen, alleen weet jij hem niet te vinden
  1. druk op (linker)ALT+F11 (de Visual Basic for Applications Editor springt open)
  2. druk op CTRL+R (er verschijnt eventueel een links een boom)
  3. selecteer een mapje en druk op F7 om de code te zien
  4. selecteer een mapje en druk op SHIFT-F7 om het object (userform) te zien
 
Laatst bewerkt:
Mijn excuses... de ALT F11 werkte niet haha, maar dat ligt meer aan mijn comp denk ik...

Wel heb ik nog 2 vraagjes...

Vraag 1: Hoe krijg ik het voor elkaar dat ik geen knop nodig heb om de animatie te starten, maar dat deze start bij het openen van het xls bestand? (waarschijnlijk ipv onder CommandButton9_Click() zeker UserForm1_Initialize() gebruiken).

Vraag 2: Nu de knop er toch staat is het mogelijk om deze voor een ander doel te gebruiken, namelijk voor het opslaan van de "nieuwe tekst" zodat deze tekst bij heropenen automatisch wordt gebruikt?

Oja... Nu staat er op een excelsheet een knop om het formulier te openen, echter ik gebruik de sheet enkel voor het opslaan van data, dus deze optie heb ik er al uitgehaald.

Nogmaals... dat dit mogelijk is met zo weinig script... echt helemaal te gek :)

greetz

ps Hieronder de code... wellicht makkelijk bij het beantwoorden van mijn vragen (ik heb wel wat tenaamstellingen veranderd ivm implementatie in mijn projectje )

Private Sub CommandButton9_Click()
' Label5.Caption = "This is a test of a scrolling label with I hope a lot of text that will be bigger than the frame it is encapsulated within" ' for testing make this text larger than the width of the label
Label5.Caption = CStr(TextBox1.Text)
Label5.Left = Frame1.Width ' start the text from the right end of the frame
' you can change this to start the text anywhere within the frame.
If CommandButton9.Caption = "Start Scroll" Then
CommandButton9.Caption = "End Scroll"
Do
Sleep 20
Label5.Left = Label5.Left - 1 ' scroll the text left one pixel
If Label5.Left <= -Label5.Width Then 'check for the text disappearing
Label5.Left = Frame1.Width ' start the text at the right side of the frame
End If
DoEvents ' update
Loop
Else
End
End If
End Sub
 
Laatst bewerkt:
Hoi Rene,

Ik zou eerst eens beginnen je controls te hernoemen met zinnige namen.
'Label5' en 'Commandbutton9' zijn maar weinig beschrijvend...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan