Avatar billede isdan Nybegynder
04. marts 2001 - 12:19 Der er 7 kommentarer og
1 løsning

Sende en \"knap\" ind...

Select Case KeyCode
    Case vbKeyEnd
        SendKeys \"{vbKeyRight}\"
        SendKeys \"{vbKeySpace}\"
End Select
Virker ikke..

Når jeg taster End skal højrepil + spacebar sendes ind..
Avatar billede joern Nybegynder
04. marts 2001 - 12:56 #1
Kunne du ikke beskrive hvad du vil opnå?  Der må være andre måder.  Højrepil kan i hvert fald kun udføres hvis der er et tegn at gå til højre til.  Prøv at indsætte space først.

M.v.h.  Jørn
Avatar billede isdan Nybegynder
04. marts 2001 - 13:05 #2
En længere forklaring..

Jeg har et ComboBox felt med _KeyUp event, som slår op i listen(forslår resten) Feks. er der flere forskellige Citroen biler i listen. Så når jeg har tastet ci  Står citroen med troen highlighted. Så når jeg taster End Vil jeg at kursøren står ved citroen AX (AX Highlighted.)  Det opnås normalt med klik på pil til hojre og et enkelt spacebar..
Avatar billede joern Nybegynder
04. marts 2001 - 13:29 #3
Jeg kender ikke kontrollen \'combobox felt\', så umiddelbart kan jeg ikke hjælpe.  Jeg bruger VB5 Enterprise.  Men forklaringen får vel flere på banen.    Highlight af en del af en linie er også for min version ukendt i lister.

M.v.h.  Jørn
Avatar billede isdan Nybegynder
04. marts 2001 - 13:34 #4
Functionen HighLight ser sådan ud.. Ville det ikke være en idee at skifte VB5 ud..

Select Case TypeName(Ctrl)
    Case \"ComboBox\", \"ComboBoxEx\"
      With Cmb
        Str = UCase(.Text)
        Lenght = Len(Str)
        For i = 0 To .ListCount - 1
          If (UCase(Left(.List(i), Lenght))) = Str Then
            If (.List(i) <> .Text) Then
              .Text = .List(i)
            End If
            If (Lenght = Len(.List(i))) Then
              SearchControl = True
              Lenght = 0
            End If
            .SelStart = Lenght
            .SelLength = Len(.List(i)) - Lenght
            i = .ListCount + 1
          End If
        Next i
      End With
  End Select
End Function
Avatar billede isdan Nybegynder
04. marts 2001 - 14:53 #5
Har selv fundet ud af det..

Private Sub boxen_KeyUp(KeyCode As Integer, Shift As Integer)
  SearchControl cmb_biler, KeyCode
End Sub

Public Function SearchControl(Ctrl As Object, KeyCode As Integer) As Boolean
  Dim i As Integer
  Dim Lenght As Integer, Str As String
  Dim Cmb As Object
  Set Cmb = Ctrl
  SearchControl = False
 
  Select Case KeyCode
    Case vbKeyDown, vbKeyUp, vbKeyLeft, vbKeyRight, vbKeyBack, vbKeyDelete, _
      vbKeyControl, vbKeyShift, vbKeyHome, vbKeyReturn
    Exit Function
    Case vbKeyEnd
\' ******* Det er her det sker ************       
cmb_fabrikat.SelStart = Len(cmb_fabrikat.Text)
cmb_fabrikat.SelLength = 1
SendKeys \" \"
    Exit Function
\' ******* Det er her det sker ************       
  End Select
 
 
  Select Case TypeName(Ctrl)
    Case \"ComboBox\", \"ComboBoxEx\"
      With Cmb
        Str = UCase(.Text)
        Lenght = Len(Str)
        For i = 0 To .ListCount - 1
          If (UCase(Left(.List(i), Lenght))) = Str Then
            If (.List(i) <> .Text) Then
              .Text = .List(i)
            End If
            If (Lenght = Len(.List(i))) Then
              SearchControl = True
              Lenght = 0
            End If
            .SelStart = Lenght
            .SelLength = Len(.List(i)) - Lenght
            i = .ListCount + 1
          End If
        Next i
      End With
  End Select
End Function
Avatar billede joern Nybegynder
04. marts 2001 - 16:59 #6
Det er meget simpelt isdan.  Der er ingen penge på budgettet til software.  Men fint at du fandt en løsning og delagtiggør alle i den.

m.v.h.  Jørn
Avatar billede johs_j Novice
04. marts 2001 - 17:30 #7
De to kommandoer skal se sådan ud:

SendKeys \"{Right}\"
SendKeys \" \"

Prøv det. Det burde at virke.
mvh
Johs J
Avatar billede razersedge Nybegynder
09. maj 2001 - 21:38 #8
ok... godt nok et stykke tid siden men... er det muligt at sende f.eks retry ind i et program hvis programmet kommer med en bestemt meddelse??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester