delphide pencere kontrolü?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

bu istenilen windows pencerelerini kapatma fikri çok güsel :mrgreen:
bu sayede kendi pop-up engelleme programımızı yazabiliriz diye düşünüyorum :?:

Ancak herşey iyi de engelle diye belirttiğim pencereleri (butondan)
registry ye ekleyerek kaydedicem ancak herseferinde artan rakamlarla
stringler oluşturacak bir koda ihtiyacım war.

2.cisi ise bi pencere ismini delphi ile program içinden (mouse tıklaması veya mouseover) alabilmemizin imkanı war mı?
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Şöyle bir kodla pencere adlarını bulabilirsin. Mouse u Pencereler üzerinde gezdir.

Kod: Tümünü seç

procedure TForm1.Timer1Timer(Sender: TObject);
var
  HFare : HWND;
  isaretleyici : TPOINT;
  baslikUzunlugu : integer;
  baslik : string;
begin
  GetCursorPos(isaretleyici);
  HFare := WindowFromPoint(isaretleyici);
  if HFare = HSonrakiWinMsg then Exit;
  HSonrakiWinMsg := HFare;
  baslikUzunlugu := SendMessage(HFare, WM_GETTEXTLENGTH, 0, 0) + 1;
  SetLength(baslik, baslikUzunlugu);
  SendMessage(HSonrakiWinMsg, WM_GETTEXT, baslikUzunlugu,LongInt(@baslik[1]));
  Caption:=inttostr(HSonrakiWinMsg)+' '+baslik;

end;
Timer'in Interval ı 100.
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

P206 süpersin

Mesaj gönderen webaytek »

P206 çok teşekkürler de

HSonrakiWinMsg ne olmalı string mi ve nereye koycam private - public falan
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Public e koyup HWND yapabilirsin.
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

sayenizde pop-up killer süper gidio ancak çok basit bi sorun war

düğme.click := ProgramKapat(liste2.items[liste2.itemindex]); olayı çalışıyor
ancak listbox lardan item seçmeden düğmeye basınca list index out of bound hatası veriyor haklı olarak ben buna ait hata kodunu nasıl yazarım :idea:
Kullanıcı avatarı
derya
Kıdemli Üye
Mesajlar: 68
Kayıt: 16 May 2004 02:43
Konum: Almanya/Bonn
İletişim:

Mesaj gönderen derya »

Kod: Tümünü seç

if liste2.itemindex = -1 then
  begin
     ...hata mesajı...
  end
else düğme.click := ProgramKapat(liste2.items[liste2.itemindex]);
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

son özellikleri de ekliiim popup killer tamamlanıyoor

bir listboxtaki item ı en sona nasıl atabilirim :?:

inanın ki çok uğraştım :Noops
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

elemanı önce bir degiskene al
sonra sil ve Add ile yeniden ekle
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

gkimirti çok teşekkürler
ben bugün programı bitirmeye bakıyorum ama biraz zorlanmaya başladım
çok basit şeyler artık gözümde büyüyo :cry:
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

çok saol hoca ama içinden çıkabilirseniz beni daha çok sevindirirsiniz

Kod: Tümünü seç

var a:integer;
begin
if not liste2.itemindex = -1 then
        begin
        a:=liste2.itemindex;   // string yapınca hata burada
        ProgramKapat(liste2.items[0]);
        liste2.items.Delete(liste2.itemindex);
        liste2.items.add(a); //integer yapınca hata burada
        end
else
        begin
        end
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Bu kodla seçili satırı sona yollarsın.

Kod: Tümünü seç

ListBox1.Items.Move(ListBox1.ItemIndex,ListBox1.Items.Count-1);
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Bİrde Balık tutmayı öğretelim

senin orada

Kod: Tümünü seç

a:=liste2.itemindex
demen ile listbox' ın satır numarasını alırsın;

Kod: Tümünü seç

liste2.items.add(a); 
ilede oraya aldığın satırnumarısını atmaya calışıyorsun. Listbox 'a ancak string değer atabilirsin. Attığın değeri stringe çevirsen bile 0,1,2,3,4 gibi sayıları elde edersin.
Senin o satırda ki değeri alman için:

Kod: Tümünü seç

liste2.items[a]

demen lazım.

Bu olaylar üzerine deneme yap biraz.

Kolay Gelsin , İyi çalışmalar.
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

saat 7:57'ymiş başladım daha hala bitmedi waallaaa kafam durdu.
He biliiodun da ondan mı yanlış yazdın... :oops:
Yok canım şeyy.. ehhh.. :lol:

ben hala bişiy yapamıyorum ama döversiniz diye korkuyorum

butona bir tane daha atama yapmam lazım o da listeden mouse ile seçmeden önce direkt ilk itemi seçmek.

Wallahi yaw çok uğraşıyorum ööle bööle diil gerçekten :N(
wallahi hırs yaptım öğrenicem bu delphiyi :twisted:
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

eğer her bebek yürümeyi öğrenirken her adımını başkasına attırırsaydı, 15 yaşında hala örümcekle yürüyor olurduk dimi...
Kullanıcı avatarı
webaytek
Üye
Mesajlar: 377
Kayıt: 23 Haz 2004 10:58

Mesaj gönderen webaytek »

mege dostum

bişey mi ima ediyorsun ben mi yanlış anlıyorum mu acaba mı ne :shock:
Cevapla