Pop-Up Menu soru ..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Pop-Up Menu soru ..
Memoya bir popmenu yarattım fakat pop-up menü sağ tıklayınca açılıyor ben sol tıklayıncada açılmasını istiyorum nasıl yapabilrim _ ?
Kod: Tümünü seç
procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft Then begin
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
end;
end;

- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
muratdicle'nin yazdıklarından yola çıkarak şunu buldum;
Memo'nun Popup'ını Object Ins.'den seçmene gerek yok.
Yalnız sağ tıklanınca kopyala, yapıştır filan çıkıyo.
Kod: Tümünü seç
procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft Then PopupMenu1.Popup(Form1.Left+Memo1.Left+x+7,Form1.Top+Memo1.Top+y+32);
end;
Yalnız sağ tıklanınca kopyala, yapıştır filan çıkıyo.
Bende grid uzerinde sag tiklama yapildiginda popup menuyu acacak sekilde asagidaki gibi kod yazdim ama mousun hangi tusuna tiklarsam tiklayayim menu acilmiyor
Bunu nasil cozebiliriz?
Kod: Tümünü seç
procedure Tfrm_sprs.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button = mbright then
popupmenu1.Popup(x,y);
end;
Kodu su sekilde degistirdim ama genede acilmiyor popup menu
Sonra birde su sekilde degistirdim
ondada address violation hatasi verdi.
Kod: Tümünü seç
procedure Tfrm_sprs.DBGrid1CellClick(Column: TColumn);
var
Coord : TGridCoord;
X,Y : Integer;
button : Tmousebutton;
begin
Coord := dbGrid1.MouseCoord(X, Y);
if button = mbleft then
popupmenu.Popup(coord.x,coord.y);
end;
Kod: Tümünü seç
procedure Tfrm_sprs.DBGrid1DblClick(Sender: TObject);
var
Coord : TGridCoord;
X,Y : Integer;
button : Tmousebutton;
begin
Coord := dbGrid1.MouseCoord(X, Y);
popupmenu.Popup(coord.x,coord.y);
end;
s.a.
av vermesininsebei popupmenu.popup yazman.
popupmenu nun adını yazman lazımdı.
sen formun popupmenu ozelliğine atanan popupmenu yu göstermeye çalışmışsın. onada birşey atamadığın için hata vermiş.
popupmenu1.popup (veya popupmenuye ne isim verdiysen onu)yazmayı dene.
birde dbgrid in onclick özelliği :wink
kolay gelsin.
av vermesininsebei popupmenu.popup yazman.
popupmenu nun adını yazman lazımdı.
sen formun popupmenu ozelliğine atanan popupmenu yu göstermeye çalışmışsın. onada birşey atamadığın için hata vermiş.
popupmenu1.popup (veya popupmenuye ne isim verdiysen onu)yazmayı dene.
birde dbgrid in onclick özelliği :wink
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Tesekkur ederim, dedigin sey gozumden kacmis ama ben koordinat degerlerini degiskenklerle kodla vermeme ragmen hala menu default pozisyonda cikiyor
Bu arada object inspectorda events tabina birkac kez baktim dalginliktan atlamamak icin ama dbgrid icin onclick diye bir event goremedim.
Ben Turbo Delphi kullaniyorum, bundan dolayiu bu ozelligin olmama ihtimali var mi?
Bu arada object inspectorda events tabina birkac kez baktim dalginliktan atlamamak icin ama dbgrid icin onclick diye bir event goremedim.
Ben Turbo Delphi kullaniyorum, bundan dolayiu bu ozelligin olmama ihtimali var mi?
Re: Pop-Up Menu soru ..
s1lv3r yazdı:Memoya bir popmenu yarattım fakat pop-up menü sağ tıklayınca açılıyor ben sol tıklayıncada açılmasını istiyorum nasıl yapabilrim _ ?
Kod: Tümünü seç
procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
PopupMenu1.Popup(Memo1.ClientOrigin.X+x,Memo1.ClientOrigin.y+y);
end;
s.a.
evet şimdi baktım dbgrid in onclick diye bir olayı yokmuş. onCellclik işinizi görebilir.
sizin cellclick deki kodunuzun çalışmamasının sebebi if button=mbleft karşılaştırması. button parameteresi sizin tanımladığınız local bir değişken. ve bu değişkene herhangi bir değer atanmamış.
bu durumda @akdatilla gönderdiği kodu dbgirid in mouseup olayına yazarsanız olacaktır.
kolay gelsin.
evet şimdi baktım dbgrid in onclick diye bir olayı yokmuş. onCellclik işinizi görebilir.
sizin cellclick deki kodunuzun çalışmamasının sebebi if button=mbleft karşılaştırması. button parameteresi sizin tanımladığınız local bir değişken. ve bu değişkene herhangi bir değer atanmamış.
bu durumda @akdatilla gönderdiği kodu dbgirid in mouseup olayına yazarsanız olacaktır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim