otomatik kapanan mesaj

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
namun
Üye
Mesajlar: 1
Kayıt: 27 Nis 2018 08:36

otomatik kapanan mesaj

Mesaj gönderen namun » 27 Nis 2018 08:39

şimdi ben bir showmessage ile popup menü çıkartıyorum fakat istiyorumki
1 dakika sonra kendi kendine o popup penceresi kapansın
sanki biri entere basmış gibi teşekkür ederim

Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 11:07
Konum: İstanbul
İletişim:

Re: otomatik kapanan mesaj

Mesaj gönderen Kuri_YJ » 28 Nis 2018 02:50

Selamlar,
Bunu iki türlü yapabilirsiniz.
1. Kendi mesaj formunuzu yazıp, form showmodal edildiği anda devreye giren bir Timer ile kendiliğinden kapanmasını sağlayabilirsiniz. Yani form açıldığında bir tane 60,000 milisaniye'ye set edilmiş bir Timer nesnesi içinde Close komutu gönderebilirsiniz.
2.'si ise bunu normal windows mesajlarını kullanarak yapabilirsiniz. Ama bu biraz daha karışık, aynı mantıkta bir tane Timer nesneniz olmalı ve mesaj verildiği anda o timer nesnesini devreye almalısınız. 60,000 milisaniye sonra Timer Eventi tetiklendiğinde Windows'sa SendMessage ile VK_RETURN gibi bir tuş göndermeniz lazım. Tabi, eğer mesaj kutusu daha erken kullanıcı tarafından kapatılacak olursa da o zaman Timer nesnesini Disable etmelisiniz ki başka işlemlerde durduk yere bir tane ENTER tuşu basılmamış olsun.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/

thelvaci
Kıdemli Üye
Mesajlar: 769
Kayıt: 11 Tem 2010 06:17
Konum: Istanbul
İletişim:

Re: otomatik kapanan mesaj

Mesaj gönderen thelvaci » 10 May 2018 07:29

Yapmak istediğiniz şeyi ; dökümante edilmemiş MessageBoxTimeOut API'si vasıtası ile yapabilirsiniz.

cygors
Üye
Mesajlar: 1
Kayıt: 28 Eyl 2016 11:22
İletişim:

Re: otomatik kapanan mesaj

Mesaj gönderen cygors » 13 May 2018 06:18

Kullanımı şu şekilde;

implementation

function MessageBoxTimeOut(hWnd: HWND; lpText: PChar; lpCaption: PChar; uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer; stdcall; external user32 name 'MessageBoxTimeoutA';
"Aradığını bilmeyen, bulduğunu anlayamaz" Cladue Bernard

Cevapla