![]() |
Edit voll => ins nächste springen?
Ich möchte in die nächste Version meines Sudoku Solvers (Link siehe Signatur) einbauen, dass der Cursor direkt zum nächsten Feld springt, wenn man eine Zahl eingegeben hat.
Gibt es eine elegantere Methode, als für jedes Feld im OnKeyPress-Ereignis zu prüfen, ob das Feld voll ist und dann den Focus aufs nächste zu setzen? MfG Z4ppy |
Re: Edit voll => ins nächste springen?
Schreib doch eine einzige OnChange()-Methode und weise diese allen betroffenen Edits zu. Darin kannst Du über den Sender-Parameter auswerten, welches Edit es gerade betrifft.
|
Re: Edit voll => ins nächste springen?
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe dir mal was angehängt. Nicht schön, aber selten.
Edit: Och Mensch. Vor lauter Delphi habe ich Deddys Beitrag nicht mitbekommen. Das im Anhang ist genau das, was Deddy vorgeschlagen hat. |
Re: Edit voll => ins nächste springen?
Ich hatte da eher an so etwas gedacht:
Delphi-Quellcode:
Dazu braucht man kein FindComponent, das kann man schön geschmeidig im OI zuweisen :zwinker:
procedure TfrmMain.EditChange(Sender: TObject);
begin if (Sender is TEdit) and (Length(TEdit(Sender).Text) > 1) then Perform(WM_NEXTDLGCTL,0,0); end; |
Re: Edit voll => ins nächste springen?
Ich werd es so lösen, wie Matze vorgeschlagen hat, da ich so ein Array of TEdit ohnehin schon habe ;)
Danke für die schnellen Antworten :) MfG Z4ppy |
Re: Edit voll => ins nächste springen?
Zitat:
|
Re: Edit voll => ins nächste springen?
:thumb: :lol:
|
Re: Edit voll => ins nächste springen?
Für meinen Sudoku-Löser und Generator habe ich ganz ganz ausnahmsweise einmal ein StringGrid benutzt. Da gehen dann neben dem automatischen Wechsel zum nächsten Feld auch die Pfeiltasten zur Navigation, genauso wie Tab um zum nächsten Block zu kommen, ...
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz