![]() |
opendialog automatisch schließen
Hallo,
klingt vielleicht sinnlos, aber kann ein opendialog automatisch z.B. nach einer gewissen Wartezeit geschlossen, also einfach der Öffnen-button simuliert werden? |
AW: opendialog automatisch schließen
versuch mal ne ttimercomponente setze die warte zeit ein und dann opendialogfenster schließen lassen
|
AW: opendialog automatisch schließen
genau das meine ich ja, wie kann ich von "extern" dem opendialog, der ja auf keypress wartet, von "außen" das ereignis unterschieben.
|
AW: opendialog automatisch schließen
habe nen code mach mal ne ttimer kompo rauf onclickereignis und setze den timer auf deinen Zeitraum ein
habs getestet funktioniert procedure TForm1.Timer1Timer(Sender: TObject); begin keybd_event( VK_ESCAPE, Mapvirtualkey( VK_ESCAPE, 0 ), 0, 0); keybd_event( VK_ESCAPE, Mapvirtualkey( VK_ESCAPE, 0 ), KEYEVENTF_KEYUP,0); end; |
AW: opendialog automatisch schließen
Und wenn zwischendurch eine andere Anwendung den Fokus erhält?
[edit] Was aber funktionieren könnte:
Delphi-Quellcode:
Das ist allerdings auch noch verbesserungswürdig, da der Dialog ja eine gewisse Zeit zum Öffnen braucht. [/edit]
PostMessage(OpenDialog.Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
|
AW: opendialog automatisch schließen
Hallo,
Am besten, schick die Message direkt an das Handle des OpenDialoges. Etwa so: SendMessage(opendialog1.Handle, WM_CLOSE, 0, 0); Allerdings, wird der OpenDialog, mit WM_CLOSE einfach geschlossen, sp als ob der Benutzer auf Abbrechen geklickt hätte. LG Brisedarius |
AW: opendialog automatisch schließen
procedure TForm1.Timer1Timer(Sender: TObject);
const IDS_WNDTITLE = 'Öffnen'; var hWnd: DWORD; begin hWnd := FindWindow(nil, IDS_WNDTITLE); if hWnd <> 0 then SendMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0) end; versuch mal den |
AW: opendialog automatisch schließen
FindWindow braucht man nicht, siehe mein Edit oben.
|
AW: opendialog automatisch schließen
Bedenkst du bitte auch, dass es den User verwirren wird, wenn sich ein solcher Dialog ohne erkennbaren Grund von allein schließt? Irgendwie kann ich mir keinen Anwendungsfall vorstellen, in dem sowas sinnvoll sein könnte (liegt aber bestimmt an mir).
MfG Dalai |
AW: opendialog automatisch schließen
deddyh
Dein code funktioniert bei mir nicht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 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