AGB  ·  Datenschutz  ·  Impressum  







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

Form2 immer vor Form1

Ein Thema von Cyberbob · begonnen am 4. Mai 2007 · letzter Beitrag vom 24. Okt 2007
Antwort Antwort
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#1

Form2 immer vor Form1

  Alt 4. Mai 2007, 23:24
Guten Abend DPler,

ich bin schon den ganzen abend am suchen, wie ich ein formluar immer vor einem anderen haten kann, ohne das es immer im vordergrund des desktops ist.
sowas wie form2.stayonform1 also. ich habe schon die optionen mdichild und mdiform versucht, habe aber nur eine exeption bekommen, das kein mdi-fenster vorhanden oder aktiv sei.
ich möchte form2 immer vor form1 halten. dabei soll form1 aber noch fokussierbar sein. wenn ich nun form2.stayontop setze und den explorer in den vordergrund hole, ist zwar form1 weg, form2 ist aber immer noch davor.
es sollen also entweder beide sichtbar oder beide im hintergrund erscheinen.

Danke im voraus!

Gruß,
Christian
Christian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Form2 immer vor Form1

  Alt 4. Mai 2007, 23:28
.ShowModal()
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Form2 immer vor Form1

  Alt 4. Mai 2007, 23:35
Zitat von Cyberbob:
...dabei soll form1 aber noch fokussierbar sein...
geht nicht!
Christian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Form2 immer vor Form1

  Alt 4. Mai 2007, 23:42
Dann mußt du es wohl über Events machen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Form2 immer vor Form1

  Alt 5. Mai 2007, 01:25
Moin Moin,

Mein Vorschlag:
Delphi-Quellcode:
  private
    procedure WMWINDOWPOSCHANGED(var AMsg: TMessage); message WM_WINDOWPOSCHANGED;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

function SetWinPos(hWnd: THandle; WinPos: PCardinal): Boolean; stdcall;
begin
  Result := true;
  if IsWindowVisible(hWnd) then
  begin
    if hWnd = Form1.Handle then
    begin
      SetWindowPos(Form2.Handle, WinPos^, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
      Result := false;
    end;
    WinPos^ := hWnd;
  end;
end;

procedure TForm1.WMWINDOWPOSCHANGED(var AMsg: TMessage);
var
  WinPos : Cardinal;
begin
  WinPos := 0;
  if Form1.Showing and Form2.Showing then
    EnumWindows(@SetWinPos, integer(@WinPos));
  //SetWindowPos(Form1.Handle, Form2.Handle, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Form2.Show;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
MondoShiva

Registriert seit: 14. Aug 2007
Ort: Mönchengladbach
63 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Form2 immer vor Form1

  Alt 24. Okt 2007, 16:17
Soll das Form2 auf der Form1 liegen (als modul oder etwas dergleichen)?? oder als seperates fenster stehen??

Edit:
out of date sry nicht drauf geachtet
Veritas et Aequitas
  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:49 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