Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Unterform immer über Mainform setzen ohne Showmodal?

  Alt 2. Aug 2004, 13:09
Danke für eure Antworten.

@teebee: Bei deine Variante kommt eine EAccessViolation sobald ich die Mainform anklicke, um zu sehen, ob das Fenster tatsächlich im Vordergrund bleibt.
Woran liegt das?

Quellcode des Testprogrammes

Form1 mit einem Button:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses unit2;

procedure TForm1.Button1Click(Sender: TObject);
var form : tform2;
begin
  form := tform2.Create(application);
  form.Show;
end;

end.
Form2:
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDeactivate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action := cafree;
end;

procedure TForm2.FormDeactivate(Sender: TObject);
begin
  SetWindowPos(Form2.Handle,HWND_TOP,0,0,0,0,SWP_NOMOVE OR SWP_NOSIZE OR SWP_NOACTIVATE);
end;

end.
MfG hitzi
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat