Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: MessageBox mit timeout in einer Windows Notify DLL

  Alt 13. Apr 2010, 08:12
Am einfachsten du erstellst ein Formular, auf welches du einen Timer legst, der das Formular dann automatisch schließt.

Edit: Beispiel:
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    Button1: TButton; //enabled auf false
    procedure Timer1Timer(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  close;
end;

procedure TForm2.FormShow(Sender: TObject);
begin
  timer1.Enabled:=true;
end;

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

procedure TForm2.Button1Click(Sender: TObject);
begin
  close;
end;

end.
Aufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MessageForm:TForm2;
begin
  MessageForm:=TForm2.Create(nil);
  Messageform.Label1.Caption:='Meine Meldung';
  Messageform.Show;
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat