Ga naar inhoud

Nu we toch met VB 6 bezig zijn....


anoniem

Aanbevolen berichten

quote:
Originally posted by Samba: Hoe kan ik een procedure van bijvoorbeeld form8 gebruiken in form9?

Ik heb namelijk een knop met één procedure, (bijv. text1.text = 6) . Nu wil ik via form8 => form9 showen en daarbij meteen de procedure aanroepen, zonder dat ik die knop hoef in te drukken ;-).

KEN DIT?

Samba 'dream' team


je moet naar vb events gaan en daan naar load daar kun je de code instellen.

[This message has been edited by M_KOS (edited 28-12-2001).]

Link naar reactie
Als je bijvoorbeeld variabelen in andere forms wilt bereiken kun je dit doen:

In de code van form8: (Stel je drukt op een knop om form9 the openen)

Private Sub Command_Click() form9.text1.text = 6 form9.show 0,form8 end sub

Opmerking: bij de show functie: 0 = Venster 9 IN venster 8 openen 1 = Venster 9 BUITEN venster 8 openen (Of juist andersom. Maar dat kun je wel even testen)

Link naar reactie
quote:
Opmerking: bij de show functie: 0 = Venster 9 IN venster 8 openen 1 = Venster 9 BUITEN venster 8 openen (Of juist andersom. Maar dat kun je wel even testen)

Wel eens de help bestanden doorgebladerd? Dan zie je het volgende:

object.Show style, ownerform

The Show method syntax has these parts:

object Optional. An object expression that evaluates to an object in the Applies To list. If object is omitted, the form associated with the active form module is assumed to be object.

style Optional. Integer that determines if the form is modal or modeless. If style is 0, the form is modeless; if style is 1, the form is modal.

ownerform Optional. A string expression that specifies the component which "owns" the form being shown. For standard Visual Basic forms, use the keyword Me

Remarks If the specified form isn't loaded when the Show method is invoked, Visual Basic automatically loads it.

When Show displays a modeless form, subsequent code is executed as it's encountered. When Show displays a modal form, no subsequent code is executed until the form is hidden or unloaded.

When Show displays a modal form, no input (keyboard or mouse click) can occur except to objects on the modal form. The program must hide or unload a modal form (usually in response to some user action) before input to another form can occur. An MDIForm can't be modal.

Although other forms in your application are disabled when a modal form is displayed, other applications aren't.

Staat hier niets over in of buiten een form. Ik denk dat je in de war bent met MDI en SDI.

Code is simple, op Form8 zet je de volgende code:

Form9.Show Form9.Command1_Click

Het laatste commando kun je ook in de Form Load event van Form9 zetten zodat die knop ALTIJD wordt ingedrukt wanneer je Form9 laad.

[This message has been edited by DarkScribe (edited 31-12-2001).]

Link naar reactie
Ik heb het maar zo opgelost, omdat in de load doet ie het wel command2_click

form1=> als ik op knop dan wordt text1.text = 1 en daarop kan ik reageren als ik form2 load.

form2=> Private Sub Command1_Click() Form1.Show Unload Me End Sub

Private Sub Command2_Click() x = MsgBox("Doet het") End Sub

laden van form2=>

Private Sub Form_Load() If Form1.Text1.Text = "" Then GoTo eind Else Command2_Click End If eind: End Sub

Ieder geval wel bedankt, het werkt nu immers wel ;-)

Link naar reactie
quote:
Originally posted by Samba: Code is simple, op Form8 zet je de volgende code:

Form9.Show Form9.Command1_Click

Het laatste commando kun je ook in de Form Load event van Form9 zetten zodat die knop ALTIJD wordt ingedrukt wanneer je Form9 laad.

Reply:

Hey Thanx, klasse, stom dat ik daar niet ben opgekomen! tis zo simpel Hartstikke bedankt!


Een dergelijk advies hoort met een niet geringe lijfstraf beloont te worden. Wat is dit. De snelcursus spaghetti programmeren?

Leer je nu voor eens en voor altijd aan dat events alleen als event gebruikt moeten worden. De code in een click_event alleen als er op de knop geklikt wordt. De code in een load event alleen als het form daadwerkelijk geload wordt.

Funkties die je op meer plaatsen gebruikt plaats je in een module en maak je daar keurig public.

Wil je die funktie in een click event gebruiken dan roep je die funktie daar aan. Dus niet een enorme lap code in een clickevent van een knop op een form en die code dan vanuit een ander form aanroepen.

Microsoft heeft die sub's niet voor niets standaard private gemaakt. Juist om te verleiding voor dit soort 'worst programming habits' te voorkomen.

Heus, als je dit soort gewoonten aanleert is het moeilijk om er weer vanaf te komen. Je begint net, dus probeer structuur in je programmacode tot een tweede natuur te maken. Daar heb je straks alleen maar plezier van.

------------------ Met vriendelijke groeten, Laurens

"Leven is meervoud van lef"

Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...