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 09:36

otomatik kapanan mesaj

Mesaj gönderen namun »

ş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 12:07
Konum: İstanbul
İletişim:

Re: otomatik kapanan mesaj

Mesaj gönderen Kuri_YJ »

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 07:17
Konum: Istanbul
İletişim:

Re: otomatik kapanan mesaj

Mesaj gönderen thelvaci »

Yapmak istediğiniz şeyi ; dökümante edilmemiş MessageBoxTimeOut API'si vasıtası ile yapabilirsiniz.
cygors
Üye
Mesajlar: 1
Kayıt: 29 Eyl 2016 12:22
İletişim:

Re: otomatik kapanan mesaj

Mesaj gönderen cygors »

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