![]() |
showmessage(...); automatisch verschwinden lassen
Ist es möglich solch ein Fenster automatisch verschwinden zu lassen? Mit Timern oder sonst wie.
Beispiel:
Delphi-Quellcode:
das soll 1 Sekunde da stehen und dann verschwinden. Wenn es bessere Alternativen gibt als showmessage dann immer her damit :D
showmessage(blablabla);
Danke! MfG Florian :hi: |
Das hättste mich vorhin auch gleich fragen können. Schau Dir mal MessageDlg an. Ich glaube das ShowMessage ist etwas zu mickrig.
|
Hallo,
Du könntest einfach ne einer Sekunde ein ButtonKlick, also ein SendMessage machen, da Du ja die Box selbst erstellst, dürfte es nicht so schwierig werden da Du ja den Titel kennst und Du auch nur an OK eine Message schicken musst. Grüsse, Daniel :hi: |
Bei Showmessage wohl eher nicht, weil die den Code anhält...
|
Hallo,
![]() Ich sehe im Moment keinen Grund warum dies nicht klappen sollte. Fenster suchen, Button Klicken... Weg isses... Oder etwa nicht?!? Grüsse, Daniel :hi: |
Leider kann ich wieder mal nicht nachvollziehen wo dies her ist.
Delphi-Quellcode:
unit Unit1;
interface uses Forms, ExtCtrls, Classes, Controls, StdCtrls, Windows, Messages; type TMboxThread = class(TThread) protected procedure Execute; override; public constructor Create; end; type TForm1 = class(TForm) Button1: TButton; Timer1: TTimer; procedure BtnCloseClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); private FFirst: boolean; FMboxThread: TMBoxThread; FWinHandle: HWnd; end; var Form1: TForm1; implementation {$R *.DFM} constructor TMboxThread.Create; begin FreeOnTerminate := True; inherited Create(False); end; procedure TMboxThread.Execute; begin { Place thread code here } MessageBox(Application.Handle, 'Text', 'Caption', MB_APPLMODAL + MB_SETFOREGROUND); end; { TForm1 } procedure TForm1.BtnCloseClick(Sender: TObject); begin FMBoxThread := TMBoxThread.Create; FFirst := true; Timer1.Enabled := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled := false; if FFirst then begin FWinHandle := GetForegroundWindow; FFirst := false; Timer1.Enabled := true; end else SendMessage(FWinHandle, WM_CLOSE, 0, 0); end; end. |
Also ich weiß nicht, ob sich das alles für eine einfache Meldung lohnt. Zimmere dir halt eine "Message Form", die du mit einem Timer verschwinden lässt.
Man liest sich. Stanlay 8) |
Zitat:
Dank an alle! MfG Florian :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz