Hallo allemaal, ik heb hier al een paar keer een vraag gesteld, en met een positief antwoord,
dus heb ik er nog eentje. is het mogelijk om met visual basic een knop te maken die als functie heeft om bijvoorbeeld een tekstvak toe te voegen met een daaraan verbonden code.
de code is altijd het zelfde. en ook zou er een knop moeten zijn om dan zo'n tekstvak terug te verwijderen.
Een tekstvak met een code toevoegen
-
- Elite Poster
- Berichten: 1158
- Lid geworden op: 03 maa 2004, 09:04
- Uitgedeelde bedankjes: 18 keer
- Bedankt: 16 keer
Code: Selecteer alles
Dim WithEvents txtDyna As TextBox
Private Sub Command1_Click()
If ControlExists("txtDyna") Then
Controls.Remove "txtDyna"
Else
Set txtDyna = Controls.Add("vb.textbox", "txtDyna")
txtDyna.Width = 3000
txtDyna.Height = 285
txtDyna.Top = 120
txtDyna.Left = 120
txtDyna.Text = "Default Text"
txtDyna.Visible = True
End If
End Sub
Private Function ControlExists(strControlName As String) As Boolean
On Error GoTo NotFound
If TypeOf Controls(strControlName) Is Control Then ControlExists = True
Exit Function
NotFound:
ControlExists = False
End Function
Private Sub txtDyna_Change()
MsgBox "txtDyna has changed"
End Sub
Door de textbox 'withevents' te declaren, kan je de events hiervan gebruiken. Voor de rest wordt bij een klik op de knop gecheckt of de control bestaat. Is dit niet zo, dan wordt de control dynamisch aangemaakt. Bestaat hij reeds, dan wordt hij verwijderd...
- Snakehit
- Elite Poster
- Berichten: 806
- Lid geworden op: 05 mei 2004, 15:37
- Locatie: Izegem, Belgie
- Contacteer:
Hoe doe je het nog simpeleren
Je zet een tekstvak, je maakt hem
visible = false
en dan zet je in de code visible = true wanneer je het nodig hebt?
is het een soort datagrid dat je wilt maken?
Je zet een tekstvak, je maakt hem
visible = false
en dan zet je in de code visible = true wanneer je het nodig hebt?
is het een soort datagrid dat je wilt maken?
het is al bijna wat ik wil hebben (het gaat echt beter dan ik had verwacht), maar het probleem is, ik zou bij god niet weten wat een datagrid is.
en ik weet ook niet hoeveel van die tekstvakken dat ik wil bijvoegen. dus het trukje van ze "onzichtbaar" te maken gaat ook nogal moeilijk lukken.
maar dit is het volgende wat jullie voor mij mogen proberen:
stel ik heb vijf tekstvakken onder elkaar (van text1.text tot text5.text)
de rand van mijn formulier komt een beetje onder het onderste stuk van de form. nu is het de bedoeling dat ik op een knop klik, der een tekstvak bij komt, ergens in de code een regel code bijkomt die op dat tekstvak inspeelt, en het form. moet iets langer worden gemaakt, zodat het weer bijna gelijk komt met de onderkant van het onderste tekstvak. ook is er dan een knop voor een tekstvak te verwijderen en het form terug wat kleiner te maken.
(weet er iemand hoe je eigenlijk iets met die scrollbars kan doen?)
hartstikke bedankt al
en ik weet ook niet hoeveel van die tekstvakken dat ik wil bijvoegen. dus het trukje van ze "onzichtbaar" te maken gaat ook nogal moeilijk lukken.
maar dit is het volgende wat jullie voor mij mogen proberen:
stel ik heb vijf tekstvakken onder elkaar (van text1.text tot text5.text)
de rand van mijn formulier komt een beetje onder het onderste stuk van de form. nu is het de bedoeling dat ik op een knop klik, der een tekstvak bij komt, ergens in de code een regel code bijkomt die op dat tekstvak inspeelt, en het form. moet iets langer worden gemaakt, zodat het weer bijna gelijk komt met de onderkant van het onderste tekstvak. ook is er dan een knop voor een tekstvak te verwijderen en het form terug wat kleiner te maken.
(weet er iemand hoe je eigenlijk iets met die scrollbars kan doen?)
hartstikke bedankt al
- Snakehit
- Elite Poster
- Berichten: 806
- Lid geworden op: 05 mei 2004, 15:37
- Locatie: Izegem, Belgie
- Contacteer:
Code: Selecteer alles
Dim intHoogte as Integer
intHoogte = Me.Height - text1.Height
Me.Heigth = intHoogte
Zoiets dat je wilt, je maakt een buttontje
en voeg daar de code in