Fromum her zaman üstte kalmıyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Fromum her zaman üstte kalmıyor

Mesaj gönderen hdayi »

Bir ikaz mesajı veren bir form create ediyorum. Bunun herşeyin en üstünde kalmasını istiyorum. Ancak olmuyor.

ana formumun formstyle özelliğini fsstayontop yapıyorum ve formumum create ediyorum. üstte kalması gereken formumu da fsstayontop yapıyorum. olmuyor, başka bir programı açtığım zaman allta kalıyor.

viewtopic.php?t=11696&highlight=mesaj%2A+%FCstte%2A
Burada bahsedilen SetWindowPos ile de denedim değişen birşey olmadı.

Teşekkürler...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2384
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

en güzeli o tip mesajları showmodal göstermek sadee başka bir showmodal üstüne geçebilir. Bir diğeride .BringtoFront Kullan.

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

İlk çalıştığında geliyor en öne ama sonra bişeye tıklarsam gidiyor. Misal Firefox'a (bu arada firefox kullandığımı da belitmiş oldum :P). Benim istediğim hiç bir şekilde arka planda kalmasın. Bazı programlar bu tür mesajlar veriyorlar. Tam ekran çalışan bir oyun vb. dahi çalışırken bu mesaj çıktığında, oyun falan kalmıyor.
O tür bir mesaj olsun da kullanıcı yok ben görmedim, haberim yoktu falan demesin istiyorum.

Teşekkürler...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

Kod: Tümünü seç

procedure TNOTpenceresi.EnUstteTut1Click(Sender: TObject);
begin

EnUstteTut1.Checked := NOT EnUstteTut1.Checked;
if EnUstteTut1.Checked then
  SetWindowPos(Handle,HWND_TOPMOST,Left,Top,Width,Height,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE)
 else
  SetWindowPos(Handle,HWND_NOTOPMOST,Left,Top,Width,Height,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;



procedure TNOTpenceresi.Timer2Timer(Sender: TObject);
begin
if EnUstteTut1.Checked then
  if GetForeGroundWindow <> Handle then;
    BringToFront;
end;
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

bir iki hata verdi fazla kurcalamadım ben de.

Timer ile halletmek güzel fikirdi.
her 100 milisaniyede bir

Kod: Tümünü seç

BringToFront;
diyerek hallettim.
Teşekkürler...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2384
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Timer yerine, formun "OnDeactivate" event inede yazsan olurdu.
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Olmadı maalesef, yine timer ile yapmak zorunda kaldım.
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
Cevapla