AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OnExit - "Ziel" feststellen

Ein Thema von Der Jan · begonnen am 29. Mär 2006 · letzter Beitrag vom 30. Mär 2006
Antwort Antwort
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#1

OnExit - "Ziel" feststellen

  Alt 29. Mär 2006, 20:59
Hallo mal wieder,

ich habe da ein etwas verzwicktes Problem:

In einem Formular habe ich ein Edit-Feld. In selbiges wird eine Auftragsnummer (Name: edtNr)eingegeben bzw. von einem Barcode-Scanner eingelesen. Beim OnExit-Ereignis des edtNr werden ein paar Datenbank-Abfragen ausgeführt, um nachfolgende Controls mit entsprechenden Werten zu füllen. Normalerweise erfolgt das Verlassen des edtNr durch die Enter-Taste, wodurch man zum nächsten Control kommt. Soweit alles voller gut Jetzt gibt es aber zwei Buttons auf dem Form, einen zum Löschen der Controls und einen zum Schließen. Wenn man diese klickt, wird logischerweise auch das OnExit-Events von edtNr, falls es gerade aktiv ist, ausgelöst. Ich möchte dies entweder verhindern (wird wohl nicht gehen) oder feststellen, wodurch das Verlassen von edtNr ausgelöst wurde, um entsprechend zu reagieren.
Ich könnte natürlich einen Button neben (oder in) edtNr setzen, den man klicken muß, um die entsprechenden Aktionen zu starten, aber dies würde die Bedienung umständlicher machen und die einfache und schnelle Bedienung möglichst ohne Maus ist eine der Hauptanforderungen in diesem speziellen Fall.
Vielleicht (sicherlich) gibt es ja auch noch eine einfachere Lösung...
Gruß, Jan
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: OnExit - "Ziel" feststellen

  Alt 29. Mär 2006, 22:11
Hallo Jan,

warum prüfst Du nicht im OnKeyPress- bzw. OnKeyDown-Ereignis des Edit-Felds, ob die Return-Taste gedrückt wurde?
Falls ja, dann führe die Datenbank-Abfrage durch.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#3

Re: OnExit - "Ziel" feststellen

  Alt 30. Mär 2006, 00:25
Hallo,

damit kannst Du feststellen durch welchen Button das OnExit eines Edits ausgelöst wird, da ActiveControl Dir das Control angibt, das den Focus bekommen wird.
Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  showmessage(ActiveControl.Name);
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#4

Re: OnExit - "Ziel" feststellen

  Alt 30. Mär 2006, 08:35
@Hawkeye: Das mache ich ja und in diesem Fall, also der "normalen" Bedienung gibt es ja auch keine Probleme, sondern nur, wenn dann z.B. die Buttons anklickt.

@Lannes: Das ist interessant, ich wußte gar nicht, daß ActiveControl zu diesem Zeitpunkt schon gesetzt ist. Wenn dem so ist, hilft mir das auf jeden Fall weiter. Ich werde das mal testen.
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#5

Re: OnExit - "Ziel" feststellen

  Alt 30. Mär 2006, 09:23
@Lannes: Genauso funktioniert es.

Danke für den Tips!
Gruß, Jan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz