AGB  ·  Datenschutz  ·  Impressum  







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

lästiges beepen abstellen ??

Ein Thema von erniepb · begonnen am 11. Jun 2002 · letzter Beitrag vom 18. Jun 2019
Antwort Antwort
Seite 4 von 6   « Erste     234 56      
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#31
  Alt 19. Okt 2002, 20:33
Hallo,
Zitat von Christian Seehase:
  1. Bei jedem Formular KeyPreview auf true setzen
  2. Bei jedem Formular im Event OnKeyDown EnterTab aufrufen.
EnterTab steht dabei wo immer Du magst, solange jede Formularunit darauf zugreifen kann.
Christian hat Dir doch ein Rezept geliefert, wie Du es anstellen musst:

Du stellt bei jedem Deiner Formulare, auf dem sich die für Dich relevanten Eingabefelder befinden die Eigenschaft "KeyPreview" auf true. Dann setzt Du ebenfalls in jedem dieser Formulare die Ereignis-Routine für das Ereignis "OnKeyDown" auf "Enter-Tab". Und genau damit hast Du die gewünschte Verknüpfung.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#32
  Alt 19. Okt 2002, 20:48
Hallo Daniel,

na siehst Du, manchmal sieht man etwas offensichtliches nicht. Habe mir zwischenzeitlich mal das KeyPreview angesehen, da war es fast klar, aber das hier nicht :

Zitat:
Dann setzt Du ebenfalls in jedem dieser Formulare die Ereignis-Routine für das Ereignis "OnKeyDown" auf "Enter-Tab". :
Hätte ich auch selber drauf kommen können. Oje, getestet ist es noch nicht. Müßte aber wohl so gehen.

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#33
  Alt 19. Okt 2002, 21:10
Hallo,

ihr seit Spitze ! Das geht jetzt einwandfrei. Hatte schon befürchtet, mich mit diesem Kram schon wieder wochenlang aufzuhalten. Aber jetzt habe ich noch bemerkt, daß auf meiner Form die Felder total durcheinander erreicht werden (kreuz und quer). Die Taborder ist also noch verkehrt. Aber jetzt weiß ich zumindest, wo ich weiter machen muß.

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#34
  Alt 1. Nov 2002, 13:51
Hi,

das Thema ist immer noch nicht beendet !

Code:
procedure TKuStamm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  IF NOT KuModul.KuDatenSatz.IsEmpty THEN BEGIN
    if MessageDlg('Soll der Datensatz gespeichert werden ?',
      mtInformation, [mbYes, mbNo], 0) = mrYes then begin
      KuModul.KuDatenSatz.post;
      KuModul.TransAction.Commit;
    END
  END;
  KuModul.Database.close;
end;
Drücke ich auf der Form esc, so kommt obige Abfrage zwar, aber er springt in das letzte "betretene" Feld zurück, anstatt die Form zu schließen. Lasse ich MessageDlg (sonst nichts) weg, klappt es wunderbar. Was kann das denn jetzt noch sein ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#35
  Alt 1. Nov 2002, 14:05
Moin Hansa,

eine Idee, nur so aus dem Gefühl heraus, ohne dass ich's im Moment begründen könnte.

Tausch' doch mal MessageDlg durch MessageBox aus (nicht Application.MessageBox)

Code:
  [b]if[/b] MessageBox(
    self.Handle,
    'Soll der Datensatz gespeichert werden ?',
    'Fenstertitelzeile',
    MB_ICONQUESTION [b]or[/b] MB_YESNO) = IDYES [b]then[/b]
  [b]begin[/b]
    [color=#000080]// ...[/color]
  [b]end[/b];
BTW:
Hast Du die Möglichkeit des Abbruchs jetzt absichtlich weggelassen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#36
  Alt 1. Nov 2002, 16:27
Hallo Christian,

Zitat:
Hast Du die Möglichkeit des Abbruchs jetzt absichtlich weggelassen?
Das kommt noch, im Moment ist es Absicht. Daran kanns wohl nicht liegen, bzw. Delphi-Bug.

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#37
  Alt 1. Nov 2002, 16:35
Nee,

kein Unterschied bis auf die Titelzeile. Werde das jetzt mit einer ganz einfachen Variable durchziehen, die ich im Quelltext setze.

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#38
  Alt 2. Nov 2002, 12:18
Hi,

also das muß an MessageDlg liegen. Kann das Verhalten aber noch präzisieren : Drücke ich ESC kommt der Dialog. Egal was ich auswähle lande ich wieder in dem Feld, wo ich ESC drückte. Drücke ich wieder ESC wird die Form geschlossen, eine neuerliche Abfrage kommt nicht. Irgendwas hängt da im "luftleeren Raum".

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#39
  Alt 2. Nov 2002, 12:36
Moin Hansa,

ich hab' eben noch mal zurückgeblättert, und dabei gesehen, dass in der EnterTab Routine (in der ja auch ESC abgefragt wird) Perform verwendet wird.
Meiner Erfahrung nach macht das manchmal Probleme.

Das Perform könntest Du mal gegen

SendMessage(self.Handle,.....

oder

SendMessage(Handle,....

oder

SendMessage(TWinControl.Handle,....

austauschen (für TWinControl natürlich den entsprechenden Namen einsetzen).

Je nachdem, in welcher Form das Perform verwendet wird.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#40
  Alt 2. Nov 2002, 18:09
Hallo Christian,

in dem ESC-Teil von EnterTab kommt kein Perform vor, also kann ich es auch nicht ersetzen. Vielleicht ist das aber der Fehler ! Nur was soll ich da hinschreiben ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 6   « Erste     234 56      


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 04:43 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