Announcement

Collapse
No announcement yet.

Zweites Formular bei Programmstart aktivieren...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zweites Formular bei Programmstart aktivieren...

    Hallo,

    meine Anwendung soll, wenn ein Parameter übergeben wird ein zweites Formular (Form2) erzeugen und anzeigen (Formular soll den Focus erhalten). Jetzt ist die Frage, wo muss der Befehl (Form2.show und Form2.setFocus)zum erzeugen und anzeigen des zweiten Formular hin?

    In das Ereignis Form1.onCreate oder Form1.onShow geht es nicht da das zweite Formular dann nicht den Focus erhält. Und bei Form1.onActivate geht es auch nicht.

    Hat jemand eine Idee oder ein Beispiel?

    Vielen Dank und Grüße

    Hendrik

  • #2
    versuch's mal mit folgendem Code:

    <PRE>
    unit Unit1;

    interface

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

    const
    WM_START = WM_USER;

    type
    TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    private
    procedure WMStart(var ppbMsg : TMessage); message WM_START;
    public
    end;

    var
    Form1: TForm1;

    implementation

    uses
    Unit2;

    {$R *.DFM}

    procedure TForm1.WMStart(var ppbMsg : TMessage);
    begin
    with TForm2.Create(Self) do
    begin
    Show;
    end;
    ppbMsg.Result := 0;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    PostMessage(Handle, WM_START, 0, 0);
    end;

    end.
    </PRE>

    Gruß Thoma

    Comment


    • #3
      Hallo Thomas,

      vielen Dank hat funkioniert!

      Grüße
      Hendri

      Comment

      Working...
      X