AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

OnExit bei Fenster übers X schließen

Ein Thema von hoika · begonnen am 8. Jul 2016 · letzter Beitrag vom 11. Jul 2016
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#1

OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 13:41
Hallo,

im OnExit wird bei mir der Inhalt des Edits gespeichert.
Leider bekomme ich kein OnExit, wenn das Fenster über das rote X geschlossen wird.

Und nun ???

Weiss jemand, wie ich dem Edit das OnExit unterschieben kann?


Danke
Heiko
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 13:43
"OnClose" könnte dein Freund sein.
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 13:44
Wenn es nur darum geht das Edit immer zu speichern wenn das "X" geklickt wird, dann mach das doch über das OnClose des Formulars...
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 13:51
Hallo,
hm, dann etwas genauer.

ich habe mehrere Edits auf dem Form.
Bei jedem OnExit wird der Inhalt des geänderten Edits gespeichert,
also nicht erst beim Beenden des Forms.

Nur das letzte Edit kann nicht gespeichert werden,
weil es sein OnExit nicht bekommt beim Klick auf das X.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 14:02
und das OnClose hilft dir dabei! Denn du kannst ja ansonsten 1. Dir Merken in welchem Edit du zuletzt bist, also im OnEnter von dem Edit dir eine Variable mit dieser Komponente speichern, oder 2. Speicherst du einfach alle Edits noch einmal wenn du auf das "X" klickst.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.330 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 14:17
Du musst im OnClose nicht mal alle Edit-Daten speichern.
Es gibt das ActiveControl. Das kannst du abfragen und dann nur dessen Daten speichern. Setzt natürlich voraus, dass das ActiveControl auch ein TEdit ist. Das solltest du also vorher prüfen.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 14:38
Stimmt... daran hab ich gerade nicht gedacht... So ganz im Sinne von "Warum einfach, wenn es auch kompliziert geht"! ich sollte mir, glaube ich, echt mal abgewöhnen immer so kompliziert zu denken.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#8

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 14:53
Andere Lösung:

Delphi-Quellcode:
...
  protected
    procedure WMNCLButtonDown(var Message: TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
  end;
...
implementation

{$R *.dfm}

procedure TForm1.WMNCLButtonDown(var Message: TWMNCLButtonDown);
begin
  if (Message.HitTest = HTCAPTION) then self.WindowState:= wsMinimized;
  if (Message.HitTest = HTCLOSE) then
Begin
//mach hier, was zu tun ist.................
Application.Terminate;
End;
  if (Message.HitTest = HTHELP) then
  begin ShowMessage('hello world'); message.Result := 0; end
  else inherited;
end;
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.269 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: OnExit bei Fenster übers X schließen

  Alt 8. Jul 2016, 14:55
Hallo,
erledigt !!!


Delphi-Quellcode:
procedure TForm98.Edit1Exit(Sender: TObject);
begin
  MessageBox(0, 'Edit1Exit', '', 0);
end;

procedure TForm98.Edit2Exit(Sender: TObject);
begin
  MessageBox(0, 'Edit2Exit', '', 0);
end;

procedure TForm98.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  PostMessage(ActiveControl.Handle, CM_EXIT, 0, 0);
end;
Heiko

Geändert von hoika ( 8. Jul 2016 um 15:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: OnExit bei Fenster übers X schließen

  Alt 11. Jul 2016, 10:02
ActiveControl auf Nil setzen, müsste auch gehen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:55 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