Focus probleem

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik heb een module welke controleerd of een tekstvlak beschreven is maakt heb zichbaar en unlocked hem.
Deze module word uitgevoerd als het tekstvlak de focus verliest.

Maar nu wil ik als ik op een knop voor het sluiten klik dat die actie word uit gevoerd.

Met wat ik heb blijft de focus hangen op de tekstvlakken.

Is er een manier dat ik kan kontroleren dat ik naar mijn sluit knop wil en die actie uit te voeren? Dus dat de focus moet gaan verschuiven zo gezegd.

In het rood staat de oplossing wat ik me bedacht had!

Dit is wat ik gemaakt heb :
Code:
Private Sub break(x)
 [COLOR="Red"][B]If Me!Knop56.SetFocus Then Exit Sub[/B][/COLOR]
 If Me("regel" & x).Locked = True Then Exit Sub
 If IsNull(Me("regel" & x)) Then Me("regel" & x) = "<br />"
 If InStr(Me("regel" & x), "<br />") = 0 Then Me("regel" & x) = Me("regel" & x) & "<br />"
 x = x + 1
 
 If x < 21 Then
    Me("regel" & x).Visible = True
    Me("regel" & x).Locked = False
    Me("regel" & x).SetFocus
    If Me("regel" & x) = "STOP" Or Me("regel" & x) = "" Then Me("regel" & x) = "STOP"
    
    Else
    Exit Sub
 End If
End Sub
 
Ik zie eigenlijk niet zo wat je wilt bereiken met die knop; zoals de code nu is, voert hij niks uit, omdat je, zodra je op de knop klikt, automatisch de focus op de knop hebt staan. Dus Knop56 kan nooit de focus hebben... Tenzij je de code aanroept vanuit Knop56, dan stopt hij altijd, omdat een actieve knop waar je op klikt altijd de focus heeft. Dus je klikt, en hij stopt.

Wat wil je dus precies bereiken met de knop, want echt snappen doe ik het uit jouw verhaal niet...

Michel
 
ik heb 20 tekst velden, die zijn allemaal onzichtbaar.
Als ik op de eerste regel tekst heb ingevoerd en druk op enter, dan zet de module <br /> achter de tekst.
Maar de module controleerd ook of <br /> al is toegevoegd en maakt de volgende regel zichtbaar en unlocked hem.

Dit gebeurt tijdens lost focus van de tekst regel.

Maar als ik op de knop van bv sluiten klik dat word de module uitgevoerd, want de tekstregel verliest weer de focus.

Nu wil ik in die modules een regel toevoegen, dat controleerd of de focus naar een ander knop moet en de modules moet stoppen.

Zie ook:
http://www.helpmij.nl/forum/showthread.php?t=430177
 
Je zou misschien met een extra variabele in de module kunnen werken, een Boolean. Die zet je op de tekstvakken die bijgewerkt moeten worden bijvoorbeel op False, en bij het tekstvak die iets anders moet doen op True. In de subroutine doe je dan een check op True voor deze variabele, met een Exit sub als resultaat.

Michel
 
????een Boolean. Ben de term wel tegen gekomen maar weet nog niet wat het is en wat het doet en hoe te gebruiken.

Hi ik is autodydact.

Okey, heb gezocht, weet nu dat het een ja/nee functie is. Maar hoe het werkt en te gebruiken is bij mij nog niet binnen gekomen.

Want hoe kan ik de Boolean op true of false zetten als gecontroleerd moet worden of een andere knop de focus krijgt
 
Laatst bewerkt:
Eigenlijk heel simpel... Je roept de huidige functie nu aan vanuit de gebeurtenis <Na Bijwerken>, of <Na Verlaten>, neem ik aan. Dan gebruik je waarschijnlijk een regel zoals: Call Break(2) om Regel 2 te evalueren.
In het algemene deel van de procedure maak je een variabele aan, bijvoorbeeld
Public bCheck as Boolean.
Dit is je Ja/Nee variabele die je nodig hebt.

Boven deze regel Call Break(2) zet je nu bij alle opdrachten, behalve degene die naar de knop moet: bCheck=False.
Eigenlijk hoeft dat niet, omdat bCheck standaard altijd False is, maar zekerheid voor alles....
Nu roep je de Break functie aan met:
Call Break(2,bCheck)

In de functie Break moet je nu ook de boolean opnemen als argument:
dus daar maak je nu van:

Private Sub break(x as Integer, b as Boolean)
If b=True Then Exit Sub
If Me("regel" & x).Locked = True Then Exit Sub

en dan de rest van de routine.

De tekstregel of knop die je wilt stoppen, krijgt dan als commando's:
bCheck=True
Call Break(2,bCheck)

En dan stopt-ie dus als hij een True tegenkomt in de variabele b.

Michel
 
Dit is waar het moet werken

Snap nog niet hoe ik de controle op het verlies van focus moet maken!
 

Bijlagen

Ik zal er eens naar kijken...

Michel
 
Thnx!

Oja, de knop zonder tekst is even ingesteld als sluiten!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan