PDA

Vollständige Version anzeigen : Bei Tab-Taste


Kigo
02.10.2001, 14:56
Hi Leute,

ich habe mir in meinem Formular eine Prozedur gebaut, in der bei dem Ereignis "Bei Taste Ab" geprüft wird ob die "Tab-Taste" gedrückt wurde und dann etwas passiert.

Private Sub Bei_Tab_entsperren(KeyCode As Integer, Shift As Integer)
' Bei Taste Tab
If KeyCode = 9 Then
...

Nun möchte ich diese Prozedur in ein Modul auslagern und in dem Formular aufrufen. Nur wie bekomme ich diesen Funktionsauruf hin ???

= Bei_Tab_entsperren («KeyCode»; «Shift»)

Was bei KeyCode und Shift ???

Morli
02.10.2001, 15:14
Hi Kigo,

Dein Funktion müßte z.B. heißen:

Public Function TabGedrückt(Keycode as Integer, Shift as Integer) as Boolean
If Keycode=9 Then
TabGedrückt=True
End If
End Function

Der Aufruf:

If Bei_Tab_entsperren(9,0)=True Then
MsgBox "Tab gedrückt!"
End If

Hoffe das wars was Du brauchst.

Gruß

Rainer ;)

Manuela Kulpa
02.10.2001, 15:24
<font face="Verdana" size="2">Hallo Kigo!

Eine weitere Möglichkeit :)! Zum einen, sollte deine kleine Sub nicht Private sondern Public sein und zum anderen, kannst du keine Subs über das Eigenschaftenfenster (also über einen Ausdruck) ansprechen, das geht nur mit Funktionen. Klicke einfach auf die Aufbauen-Schaltfläche (die mit den drei kleinen Punkten ... ;) ), wähle den Code-Generator und schreibe folgendes in das jeweilige KeyDown-Ereignis rein:</font>

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Call</span> Bei_Tab_entsperren(KeyCode, Shift)</pre></div>

<font face="Verdana" size="2">Schönen Feiertag</font>

Kigo
02.10.2001, 15:41
Hi Leute,

zu Morli: genauso hatte ich den Aufruf auch zuerst geschrieben, bis ich bemerkt habe, daß ich bei diesem Aufruf den Wert 9 für KeyCode übergebe, d.h. auch wenn z.B. "Return" gedrückt wird, wird diese Funktion ausgeführt. Das darf aber nicht sein (nur bei Tab)

zu Manuela: ein paar Sachen weiß ich ja auch (wenn auch noch wenig). Das war nur meine erste Sub in dem Formular. Diese habe ich dann in ein Modul kopiert und eine Funktion daraus gemacht. Aber ansonsten ist deine Lösung genau das richtige, wobei ich nicht verstehe, warum das nicht funkt, wenn ich in diesen Aufruf direkt in die Eigenschaft schreibe???
Warum muß es über Code gemacht werden?

Manuela Kulpa
02.10.2001, 16:07
<font face="Verdana" size="2">Hallöchen Kigo!

Wie ich bereits geschrieben haben, funktioniert die Ausdrucksgeschichte (hmm, wenn ich das so sagen darf, lol), nur mit Funktionen! Weiß der Herrgott, warum MS das so gemacht hat, *g*!

Ich ziehe grundsätzlich den Aufruf von Funktionen und Sub's in der VBE-Ansicht vor, da du diesbezüglich wesentlich flexibler bist.

Aber lass den Kopf nicht hängen, auch ich habe mal ganz, ganz klein angefangen und es mit der Zeit rausbekommen :)!

vg</font>