AGB  ·  Datenschutz  ·  Impressum  







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

was macht eigentlich FormActivate

Ein Thema von Helmut · begonnen am 27. Nov 2002 · letzter Beitrag vom 5. Dez 2002
Antwort Antwort
Seite 1 von 2  1 2      
Helmut

Registriert seit: 22. Nov 2002
64 Beiträge
 
#1

was macht eigentlich FormActivate

  Alt 27. Nov 2002, 19:28
Hallo.

Ich hab in meinem Programm
procedure TForm1.FormActivate(Sender: TObject);

ohne eigentlich zu wissen was die eigentlich macht.
Jetzt brauch ich wahrscheinlich einen Ersatz für diese funktion, da formactivate anscheinend nur einmal geht.

Also ich hab 2 Forms.

Form2 startet zuerst, dort gibt der benutzer einstellungen an. Dann wird form1 aufgerufen. In form 1 werden in der prozedur formactivate verschiedene Werte festgelegt, die aber auch auf einen Knopfdruck festgelegt werden sollen.

Also meine Frage ist erstmal: wann wird formactivate aktiv? Immer wnen ich mit der maus auf die form klicke, oder imemr wenn ich es von minimized auf maximized stelle?
Kann ich über einen knopfdruck form1.formactivate aufrufen? (weil ich will nicht den ganzen quellext nochmal extra auf einen Button legen...)

mfg
Helmut [es ist schon peinlich der Starter der obersten zwei threats zu sein... ]
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#2
  Alt 27. Nov 2002, 19:32
Zitat:
Helmut [es ist schon peinlich der Starter der obersten zwei threats zu sein... ]
Nein, wenn jemand Fragen stellt dann muss er sich in unserem Forum nicht schämen!! 8)

Das sollte helfen:
http://www.delphipraxis.net/viewtopic.php?t=200
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3
  Alt 27. Nov 2002, 19:45
Form1.Activate wird immer dann ausgeführt, wenn dein Fenster aktiviert wird, also aus der Taskbar wiederhergestellt wird oder wieder den Focus erhält.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Helmut

Registriert seit: 22. Nov 2002
64 Beiträge
 
#4
  Alt 27. Nov 2002, 21:03
Ah, danke! Hat mir auf jedne fall weitergeholfen.

Ich habe in der activate-prozedur einigen code drin der nur aufgerufen werden soll wenn die form1 auf visible gesetzt wird. (in form2 ist die prozedur drin die auf einen knopfdruck die form1 visible macht, allerdings erhalte ich zugriffsverletzungen wenn ich den code aus der activate-prozedur dort reinsetze).

Hm... jemand eine Idee?

mfg
Helmut
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 27. Nov 2002, 21:33
Moin Helmut,

das setzen der Eigenschaft Visible auf eines Formulares korrespondiert mit dem Ereignis OnShow (visible := true) bzw. OnHide (visible := false).
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
Helmut

Registriert seit: 22. Nov 2002
64 Beiträge
 
#6
  Alt 28. Nov 2002, 06:47
ahh, genau das hab ich gesucht! Danke!

mfg
Helmut
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 28. Nov 2002, 12:48
Moin Luckie,

also bei mir wird OnActivate nur einmal aufgerufen.
Bei Aktivieren, oder Wiederstellen aus der Taskleiste passiert das nicht.
Wohl auch ein Grund, warum ich bislang keinen sinnvollen Verwendungszweck für dieses Ereignis gefunden habe
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
NiLS-Da-BuBi

Registriert seit: 12. Nov 2002
Ort: Daun, Rheinland-Pfalz
25 Beiträge
 
Delphi 4 Client/Server
 
#8
  Alt 29. Nov 2002, 09:27
Hmm genau das Ereigniss such ich gerade... Ich habe neben meinem Hauptprogramm ein kleines Fenster mit Informationen das soll aber immer oben links neben dem Hauptprogramm sein. Da hab ich eine kleine Funktion die da heisst: Reposition - die macht nichts weiter als die "Top" Values gleich zusetzen und dann noch left zu bestimmen. So nun bewegt der User aber das Hauptprogramm - dann müsste ja wieder Repostition aufgerufen werden damit mein kleines Infofenster neu positioniert wird... Wo schreib ich das am besten rein? Momentan hab ich es in der OnMouseMove Ereignissroutine des Hauptfensters... bin ich aber nicht sooooo zufrieden mit - da gibts doch sicher was passenderes, oder?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9
  Alt 29. Nov 2002, 10:30
Moin Nils,

ist zwar noch verbesserungsfähig, aber so ginge es.
Man fängt die Message WM_MOVING ab, die gesendet wird, wenn das Fenster bewegt wird.
LParam ist dann der Pointer auf ein Rect Struktur, die die jeweils aktuellen Koordinaten enthält.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
  protected
    procedure WndProc(var msg : TMessage); override;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
uses Unit2;

{$R *.DFM}

procedure TForm1.WndProc(var msg : TMessage);

var
  prtWork : PRect;

begin
  if msg.Msg = WM_MOVING then
  begin
    prtWork := PRect(msg.LParam);
    Form2.Top := prtWork.Top;
    Form2.Left := prtWork.Left-Form2.Width;
  end;
  inherited WndProc(msg);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Form2.Top := self.Top;
  Form2.Left := self.Left - Form2.Width;
  Form2.Show;
end;
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
NiLS-Da-BuBi

Registriert seit: 12. Nov 2002
Ort: Daun, Rheinland-Pfalz
25 Beiträge
 
Delphi 4 Client/Server
 
#10
  Alt 5. Dez 2002, 07:51
Danke Chris. Das ist ja wirklich TOP... Wurde sofort in meine Code-Sammlung aufgenommen und auch schon angewendet. Hab auch sofort negativ Feedback bekommen da bei eingaben im Hauptfenster der Focus immer zum Sub-Fenster sprang - aber das hab ich mittlerweile auch in den griff bekommen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:35 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