Autor Beitrag
Darth Sitthiander
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95



BeitragVerfasst: Do 02.03.06 19:50 
Hi ich bins mal wieder :oops:
Ich möchte gerne wissen, warum bei mir(Delphi 7)ein gewisser Fehler Auftritt:
Wenn ich das Programm compiliere, dann tritt dort kein Fehler uaf, allerdings funktioniert nicht alles so wie es soll. Also ich möchte als beispiel ewas in eine edit eingeben, dann auf den button klicken und dann soll in der label stehen was in der edit steht. Is ja recht einfach. Aber dann möchte ich auch noch den SetFocus aktivieren. Also

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.SetFocus;
end;


Wenn ich dann das programm compiliere, dann funktioniert der setfocus nicht. Und es kommt auch keine fehlermelden. Wäre auf eine Antwort dankbar. MFG Darth Sitthiander.

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Dahmsi
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 02.03.06 20:58 
user profile iconDarth Sitthiander hat folgendes geschrieben:
Wenn ich dann das programm compiliere, dann funktioniert der setfocus nicht.

Kann ja auch nicht, du musst ja auch erst den Button drücken ;)
Der Code ist richtig - das muss gehen. Was passiert denn, wenn du auf den Button klickst???
Darth Sitthiander Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95



BeitragVerfasst: Do 02.03.06 21:15 
Wenn ich auf den button drücke funktioniert alles, nur mit der enterfunktion nicht. PS: Ich weiss doch das man auf den button drücken kann, aber das will ich ja umgehen-.-^^
Dahmsi
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 02.03.06 21:18 
user profile iconDarth Sitthiander hat folgendes geschrieben:
Wenn ich auf den button drücke funktioniert alles, nur mit der enterfunktion nicht. PS: Ich weiss doch das man auf den button drücken kann, aber das will ich ja umgehen-.-^^

Im ersten Posting steht nichts von einer Entferfktn :roll:
Was willst du nun genau machen - werd mal konkret ;)
Darth Sitthiander Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95



BeitragVerfasst: Fr 03.03.06 12:33 
(gelöscht von mir sry)

Moderiert von user profile iconraziel: Man beachte das Zitat in diesem Posting, um auf den ungefähren Sinn zu schließen.


Zuletzt bearbeitet von Darth Sitthiander am Sa 11.03.06 21:57, insgesamt 2-mal bearbeitet
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 03.03.06 12:40 
Aber nur, wenn der Button als Default eingestellt ist.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 03.03.06 12:42 
@jasocul: Das hat aber nix mit SetFocus zu tun...

user profile iconDarth Sitthiander hat folgendes geschrieben:
Weisst du denn was setfocus ist und was es bewirken soll? es soll bewirken dass man wenn man mit dem cursor in einer edit ist und enter drückt, das halt ausgeführt wird was im button steht. Also man umgeht einen Knopfdruck auf dem button. das ist auch im msn messenger so. das man da nicht immer auf senden klicken muss, sondern nur enter drücken.

:rofl:
Was heißt hier "Weißt du denn..."? DU weißt es nicht! SetFocus bewirkt nur, dass (bei Edit1.SetFocus) das Editfeld den Eingabefokus erhält (das heißt, dass du dann dort etwas schreiben kannst)!

Was du meinst geht so:
Du gehst in OnKeyPress des Editfelds. Dort fragst du dann, ob die Enter-Taste gedrückst wurde. Also so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if Key = #13 then
begin
  Button1Click(Sender);
  Key := #0;
end;

Wichtig ist nur, dass du Key auf #0 setzt, sonst kommt ein Ton...
Darth Sitthiander Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95



BeitragVerfasst: Fr 03.03.06 17:14 
Achso :oops: :oops: :oops: :oops:
Ich hab halt son heft wo das eben drin steht. SRY vielmals wollt ich nicht :oops: :oops:
Danke nochmals :oops:
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Fr 03.03.06 17:20 
Um es noch mal zu verdeutlichen:

Die Methode SetFocus übergibt einem Control den Fokus. Wenn ich also Edit1.SetFocus aufrufe dann erhält das Eingabefeld den Fokus.

Wenn ich möchte das beim drücken der Enter-Taste ein Button automatisch angeklickt wird dann muss ich bei dem Button die Eigenschaft Default auf True setzen.

Lg Martin

_________________
Ein Nutzer der Ecke ;-)