Ben WM_RBUTTONDOWN mesajını kullanarak forma tıklandıgını buldum ama tam olarak yapmak istediğimi beceremedim.. programda calıştırıldıktan sonra baska nesnelerin create edilme olayı var. Ben butona tıkllandığında ekranda "butona tıklandı" edit1'e tıklandığında "edit1 isimli bileşene tıklandı" ve edit2 vs.... gibi bir işlem yaptırmak istiyordum ama beceremedim.
bu şekilde Fare olayını aldım
Kod: Tümünü seç
procedure WM_RBUTTONDOWN(var Message: TWMMouse); message WM_RBUTTONDOWN;
1.
Kod: Tümünü seç
procedure TForm1.WM_RBUTTONDOWN(var Message: TWMMouse);
var
Sender : TComponent;
begin
if Sender is TButton then showmessage('Buton')
else
if Sender is TEdit then showmessage('TEdit')
else
if Sender is TForm then showmessage('Form');
end; //Hata veriyor.. Sender'ı tanıplayıp kullanılmazsa hata vermiyor. :)
Kod: Tümünü seç
procedure TForm1.WM_RBUTTONDOWN(var Message: TWMMouse);
begin
showmessage('Farenin Sağ Tuşuna Tıklandı');
end; //Çalışıyor, Sadece forma tıklandığında...
Kolay Gelsin..