| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Shortcut (Eks. CTRL+B) i form... Fra : Thomas Larsen | 
  Dato :  04-02-02 19:00 |  
  |   
            Hej NG!
 
 I forbindelse med programering af noget database interface, har jeg brug for
 at kalde en søgefundktion vha. af en shortcut (CTRL+B), uanset hvor i min
 form jeg står. Dvs. jeg vil aktivere søgningen for netop det felt jeg står
 i.
 
 Skal jeg lave en keyUp/down event for hver textboks (Data felt) jeg har? Jeg
 synes ikke rigtig det virker med en keyup/down event til hele min form?
 
 Kan nogen hjælpe?
 
 Mvh.
 Thomas
 
 
  
            
             |   |   
            
        
 
            
         
           Jens Vestergaard (04-02-2002) 
         
	
            | Kommentar Fra : Jens Vestergaard | 
  Dato :  04-02-02 19:34 |  
  |  
 
            "Thomas Larsen" <test@test.dk> skrev i en meddelelse
 news:3c5ecc2a$0$17382$4d4eb98e@read.news.dk.uu.net...
 > Hej NG!
 >
 [snip]
 > Skal jeg lave en keyUp/down event for hver textboks (Data felt) jeg har?
 Jeg
 > synes ikke rigtig det virker med en keyup/down event til hele min form?
 >
 Sæt formens KeyPreview = True - herefter fanger formen alle key-events inden
 den aktive kontrol.
 --
 mvh
 Jens Vestergaard
 www.railsoft.dk
            
             |   |   
            
        
 
            
         
           Rayman (10-02-2002) 
         
	
            | Kommentar Fra : Rayman | 
  Dato :  10-02-02 00:21 |  
  |  
 
            Og husk at Preview skal forstås sådan at hvis der trykkes f.eks CTRL+C, så
 fanger formen godtnok trykket, men det gør den aktive kontrol også
 bagefter...
 Hvordan man undgår det, ved jeg ikke, men jeg tror ikke det er muligt...
 "Jens Vestergaard" <j@railsoft.dk> wrote in message
 news:3c5ed39d$0$226$edfadb0f@dspool01.news.tele.dk...
 > "Thomas Larsen" <test@test.dk> skrev i en meddelelse
 > news:3c5ecc2a$0$17382$4d4eb98e@read.news.dk.uu.net...
 > > Hej NG!
 > >
 > [snip]
 > > Skal jeg lave en keyUp/down event for hver textboks (Data felt) jeg har?
 > Jeg
 > > synes ikke rigtig det virker med en keyup/down event til hele min form?
 > >
 >
 > Sæt formens KeyPreview = True - herefter fanger formen alle key-events
 inden
 > den aktive kontrol.
 >
 > --
 > mvh
 > Jens Vestergaard
 >  www.railsoft.dk
>
 >
            
              |   |   
            
        
 
            
         
            Tomas Christiansen (10-02-2002) 
         
	
            | Kommentar Fra : Tomas Christiansen | 
  Dato :  10-02-02 22:22 |  
  |   
            Rayman skrev:
 > Og husk at Preview skal forstås sådan at hvis der trykkes f.eks
 CTRL+C, så
 > fanger formen godtnok trykket, men det gør den aktive kontrol også
 > bagefter...
 > Hvordan man undgår det, ved jeg ikke, men jeg tror ikke det er
 muligt...
 
 Kunne man ikke "lege" lidt med at kigge på KeyCode i Form_KeyDown
 og/eller KeyAscii i Form_KeyPress, og i visse situationer sætte
 KeyCode  og/eller KeyAscii til 0 for at eliminere at "trykket" kommer
 videre til den aktive kontrol?
 
 Husk blot at har man textbox kaldet Text1 aktiv, vil events ved f.eks.
 tryk på Enter komme i følgende rækkefølge:
 
     Form_KeyDown
     Text1_KeyDown
     Form_KeyPress
     Text1_KeyPress
 
 Bemærk at selvom KeyCode sættes til 0 i Form_KeyDown, vil
 Form_KeyPress stadig blive udført - der skal altså ofte OGSÅ være en
 behandling af tastetrykket her.
 
 -------
 Tomas
 
  
            
             |   |   
            
        
 
            
         
             Rayman (11-02-2002) 
         
	
            | Kommentar Fra : Rayman | 
  Dato :  11-02-02 14:23 |  
  |   
            Den hedder netop preview, fordi at selvom du ændrer den, så får den aktive
 kontrol, det oprindelige, og derudover, så får en textbox også en CTRL+C,
 uden at du kan gøre noget ved det. Og lige til sidst, så indgår KeyPress()
 ikke i Preview henseende...
 
 "Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
 news:a46o9b$1pkl$1@news.cybercity.dk...
 > Rayman skrev:
 > > Og husk at Preview skal forstås sådan at hvis der trykkes f.eks
 > CTRL+C, så
 > > fanger formen godtnok trykket, men det gør den aktive kontrol også
 > > bagefter...
 > > Hvordan man undgår det, ved jeg ikke, men jeg tror ikke det er
 > muligt...
 >
 > Kunne man ikke "lege" lidt med at kigge på KeyCode i Form_KeyDown
 > og/eller KeyAscii i Form_KeyPress, og i visse situationer sætte
 > KeyCode  og/eller KeyAscii til 0 for at eliminere at "trykket" kommer
 > videre til den aktive kontrol?
 >
 > Husk blot at har man textbox kaldet Text1 aktiv, vil events ved f.eks.
 > tryk på Enter komme i følgende rækkefølge:
 >
 >     Form_KeyDown
 >     Text1_KeyDown
 >     Form_KeyPress
 >     Text1_KeyPress
 >
 > Bemærk at selvom KeyCode sættes til 0 i Form_KeyDown, vil
 > Form_KeyPress stadig blive udført - der skal altså ofte OGSÅ være en
 > behandling af tastetrykket her.
 >
 > -------
 > Tomas
 >
 
 
  
            
             |   |   
            
        
 
            
         
              Tomas Christiansen (12-02-2002) 
         
	
            | Kommentar Fra : Tomas Christiansen | 
  Dato :  12-02-02 09:19 |  
  |   
            Rayman skrev:
 > Den hedder netop preview, fordi at selvom du ændrer den, så får den aktive
 > kontrol, det oprindelige, og derudover, så får en textbox også en CTRL+C,
 > uden at du kan gøre noget ved det.
 
 Jeg forstår ganske enkelt ikke hvad du mener med dette. Hvis jeg har sat KeyPreview til True på formen og har en textbox kaldet
 Text1 vil følgende kode:
 
   Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
     Debug.Print "Form_KeyDown " & KeyCode
     If KeyCode = 49 Then KeyCode = 0
   End Sub
 
   Private Sub Form_KeyPress(KeyAscii As Integer)
     Debug.Print "Form_KeyPress " & KeyAscii
     If KeyAscii = 49 Then KeyAscii = 0
   End Sub
 
   Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
     Debug.Print "Text1_KeyDown " & KeyCode
   End Sub
 
   Private Sub Text1_KeyPress(KeyAscii As Integer)
     Debug.Print "Text1_KeyPress " & KeyAscii
   End Sub
 
 resultere i at INGEN events bliver "ført videre" til Text1, når der trykkes på 1-tallet (ASCII kode 49).
 
 Fjernes If-sætningen i Form_KeyDown, vil Text1_KeyDown blive udført, og fjernes if-sætningen i Form_KeyPress vil Text1_KeyPress
 blive udført.
 
 Var det ikke det, som var målet?
 
 Bemærk at testen er udført på en VB 6.0 med SP5 installeret på en Window 2000 Pro og på en Windows NT 4.0 PC.
 
 
 > Og lige til sidst, så indgår KeyPress()
 > ikke i Preview henseende...
 
 Ikke forstået???
 
 -------
 Tomas
 
  
            
             |   |   
            
        
 
            
         
               Rayman (12-02-2002) 
         
	
            | Kommentar Fra : Rayman | 
  Dato :  12-02-02 11:00 |  
  |   
            Det har du helt ret i, følgende kode vil helt fjerne kald til text1. Det som
 gjorde at jeg misforstod funktionen opstår, når du har en textbox og i
 KeyDown sætter KeyCode = 0, så vil nogle af tastetrykkene forsvinde, mens
 andre er helt upåvirkede, f.eks bliver "del" knappen opsnappet, mens "1"
 ikke bliver det...
 
 Undskyld for misforståelsen.....
 
 Mvh. Rayman...
 
 
 Option Explicit
 
 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
     Debug.Print "Form KeyCode: " & KeyCode
     KeyCode = 0
 End Sub
 
 Private Sub Form_KeyPress(KeyAscii As Integer)
     Debug.Print "Form KeyPress: " & KeyAscii
     KeyAscii = 0
 End Sub
 
 Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
     Debug.Print "Text1 KeyCode: " & KeyCode
 End Sub
 
 Private Sub Text1_KeyPress(KeyAscii As Integer)
     Debug.Print "Text1 KeyPress: " & KeyAscii
 End Sub
 
 
 
 "Tomas Christiansen" <toc@blikroer.dk.removethis> wrote in message
 news:a4aj6i$1cri$1@news.cybercity.dk...
 > Rayman skrev:
 > > Den hedder netop preview, fordi at selvom du ændrer den, så får den
 aktive
 > > kontrol, det oprindelige, og derudover, så får en textbox også en
 CTRL+C,
 > > uden at du kan gøre noget ved det.
 >
 > Jeg forstår ganske enkelt ikke hvad du mener med dette. Hvis jeg har sat
 KeyPreview til True på formen og har en textbox kaldet
 > Text1 vil følgende kode:
 >
 >   Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
 >     Debug.Print "Form_KeyDown " & KeyCode
 >     If KeyCode = 49 Then KeyCode = 0
 >   End Sub
 >
 >   Private Sub Form_KeyPress(KeyAscii As Integer)
 >     Debug.Print "Form_KeyPress " & KeyAscii
 >     If KeyAscii = 49 Then KeyAscii = 0
 >   End Sub
 >
 >   Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
 >     Debug.Print "Text1_KeyDown " & KeyCode
 >   End Sub
 >
 >   Private Sub Text1_KeyPress(KeyAscii As Integer)
 >     Debug.Print "Text1_KeyPress " & KeyAscii
 >   End Sub
 >
 > resultere i at INGEN events bliver "ført videre" til Text1, når der
 trykkes på 1-tallet (ASCII kode 49).
 >
 > Fjernes If-sætningen i Form_KeyDown, vil Text1_KeyDown blive udført, og
 fjernes if-sætningen i Form_KeyPress vil Text1_KeyPress
 > blive udført.
 >
 > Var det ikke det, som var målet?
 >
 > Bemærk at testen er udført på en VB 6.0 med SP5 installeret på en Window
 2000 Pro og på en Windows NT 4.0 PC.
 >
 >
 > > Og lige til sidst, så indgår KeyPress()
 > > ikke i Preview henseende...
 >
 > Ikke forstået???
 >
 > -------
 > Tomas
 >
 
 
  
            
             |   |   
            
        
 
            
         
           preben nielsen (04-02-2002) 
         
	
            | Kommentar Fra : preben nielsen | 
  Dato :  04-02-02 19:44 |  
  |   
            
 "Thomas Larsen" <test@test.dk> skrev i en meddelelse
 news:3c5ecc2a$0$17382$4d4eb98e@read.news.dk.uu.net...
 
 > Skal jeg lave en keyUp/down event for hver textboks (Data
 felt) jeg har? Jeg
 > synes ikke rigtig det virker med en keyup/down event til
 hele min form?
 >
 > Kan nogen hjælpe?
 
 sæt formens KeyPreview til SAND
 
 
 --
 
 /\ preben nielsen
 \/\ prel@post.tele.dk
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |