Bestätigen mit ENTER

Hi

Habe ein kleines Spielchen programmiert, für die Schule. ( Sokoban wenns einer kennt :wink: )

Da hab ich dann auch so ne Form gemacht, wo man ein Passwort zum Level freischalten eingibt und dann auf einen OK Button klicken muss.
Aber wie mache ich es, dass ich einfach nach der eingabe des Passworts direkt enter drücken kann, um zu bestätigen.

Wäre supi wenn mir das jemand sagen könnte.

tschau

Hi,

benutze das Ereignis „onKeyPress“ oder „onKeyDown“. Ich hab leider kein Delphi momentan hier… Bei einem von Beiden wird der aktuell betätigte Key übermittelt (guck dir beide Ereignisse an, du siehst das oben bei den übergebenen Parametern). Mit nem einfach IF THEN kannst du dein Enter auswerten… Die möglichen Werte findest du in der Windows SDK! Ich glaube für die Enter-Taste ist es „VK_ENTER“

zum Beispiel:

if key = vk\_enter then form1.close;

ciao - jens

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Sokoban wenns einer kennt :wink:

Sokoban? Nie gehört *g*

Da hab ich dann auch so ne Form gemacht, wo man ein Passwort
zum Level freischalten eingibt und dann auf einen OK Button
klicken muss.
Aber wie mache ich es, dass ich einfach nach der eingabe des
Passworts direkt enter drücken kann, um zu bestätigen.

Property „Default“ des OK-Buttons auf TRUE setzen. Wenn der Button nicht sichtbar sein soll: Panel drüberlegen und dessen Umrahmung abschalten (Properties BevelInner und BevelOuter auf „bvNone“).

Eine „ordentliche“ Lösung gibt’s übrigens auch noch :wink:: Property „KeyPreview“ des Forms auf TRUE setzen, dann mit dem OnKeyPressed-Event des Formulars arbeiten. Dort tauchen dann alle Tastendrücke auf BEVOR sie an irgendwelche Controls weitergeroutet werden, und können abgefragt werden. Probier’s mit „IF Key=VK_RETURN THEN Close“ oder ähnlich.

Gruß
Martin