AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Zweitfenster immer vor Hauptfenster - aber kein ShowModal
Thema durchsuchen
Ansicht
Themen-Optionen

Zweitfenster immer vor Hauptfenster - aber kein ShowModal

Ein Thema von ManuMF · begonnen am 12. Nov 2005 · letzter Beitrag vom 12. Nov 2005
Antwort Antwort
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

Zweitfenster immer vor Hauptfenster - aber kein ShowModal

  Alt 12. Nov 2005, 20:16
Hallo,

ich habe ein Hauptfenster und ein zweites, das eine Warteanzeige darstellt. Bei starten eines längeren Vorgangs soll das Zweitfenster geöffnet und nach Fertigstellen automatisch wieder geschlossen werden. Während dieser Zeit soll es den Fokus nicht an das Hauptfenster verlieren, also wie bei ShowModal. Nur kann ich ShowModal nicht verwenden, da das Programm sonst so lange wartet, bis das Zweitfenster geschlossen ist.
Gibt es vielleicht eine andere Möglichkeit, um das Zweitfenster vorne zu halten?

Oder kurz: Ich brauche ein ShowModal, das das Programm nicht aufhält.

Danke,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Zweitfenster immer vor Hauptfenster - aber kein ShowModa

  Alt 12. Nov 2005, 20:32
showmodal bedeutet ja
Delphi-Quellcode:
form2.show;
form1.enabled:=false;
Du kannst das enabled ja auch selbst auf false setzten. Andernfalls könntest du on form1.activate form2.bringtofront machen.
Du könntest das form1 auch einfach damit davon abhalten den Fokus zu erhalten indem du es versteckst:
Delphi-Quellcode:
form1.visible:=false;

on form2.close
  form1.visible:=true;
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Zweitfenster immer vor Hauptfenster - aber kein ShowModa

  Alt 12. Nov 2005, 20:34
In dem Fall würde ich aber lieber ein modales Fenster anzeigen, und den auszuführenden Code in einen neuen Thread packen. Dann könntest du sogar Informationen über den Fortschritt im "Wartefenster" anzeigen lassen.
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Zweitfenster immer vor Hauptfenster - aber kein ShowModa

  Alt 12. Nov 2005, 20:38
Setz das zweite Fenster doch einfach in den Vordergrund.

Delphi-Quellcode:
procedure SetTopMost(Topmost: Boolean);
var
  Flags: Cardinal;
begin
  Flags := SWP_DRAWFRAME or SWP_NOMOVE or SWP_NOSIZE;
  If Topmost
    then SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, Flags)
      else SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, Flags);
end;
Dem ersten Fenster kannst Du dann aber dennoch den Focus geben. Eventuell kombinieren mit IchBins' Tipp, das erste Fenster deaktivieren.
Daniel Schuhmann
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: Zweitfenster immer vor Hauptfenster - aber kein ShowModa

  Alt 12. Nov 2005, 21:30
Danke an alle!
Das mit dem HauptForm.enabled hat funktioniert.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  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 22:24 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