Delphi Can
POPUP MENÜ KAPATMA - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: POPUP MENÜ KAPATMA (/showthread.php?tid=6042)



POPUP MENÜ KAPATMA - CesuR - 30-05-2021

Merhaba, dbgrid üzerinde popup menü ile ekle sil menülerini gösteriyorum.  Eğer dbgrid boş ise (veya ilgili data ) popup menudeki SIL kısmını kullanılamaz yapmak istiyorum. Fakat bir türlü bulamadım.
Dbgridin onmouse down olayına mı yazılmalı ?


POPUP MENÜ KAPATMA - mrmarman - 30-05-2021

PopUpMenu'nün onpopup eventinde çalışın. Orada dbgrid kontrolü yapıp ABORT komutu ile geçersiz kılabilirsiniz.

Ayrıca menuitemi de enable true false ederek açıldığındaki hale müdahale etme imkanı da bulursunuz.


Cvp: POPUP MENÜ KAPATMA - MuhammedYasir - 30-05-2021

(30-05-2021, Saat: 23:02)CesuR Adlı Kullanıcıdan Alıntı: Merhaba, dbgrid üzerinde popup menü ile ekle sil menülerini gösteriyorum.  Eğer dbgrid boş ise (veya ilgili data ) popup menudeki SIL kısmını kullanılamaz yapmak istiyorum. Fakat bir türlü bulamadım.
Dbgridin onmouse down olayına mı yazılmalı ?

Şu şekilde kullanmışım:

procedure TFSatis.DBGrid1ContextPopup(Sender: TObject; MousePos: TPoint;
 var Handled: Boolean);
begin
 if (DMAlisSatis.SatisDetayIBQ.RecordCount > 0) Then
   SatrSil1.Visible := true
 else
   SatrSil1.Visible := false;

end;



Cvp: POPUP MENÜ KAPATMA - bydelphi - 01-06-2021

(30-05-2021, Saat: 23:34)MuhammedYasir Adlı Kullanıcıdan Alıntı:
(30-05-2021, Saat: 23:02)CesuR Adlı Kullanıcıdan Alıntı: Merhaba, dbgrid üzerinde popup menü ile ekle sil menülerini gösteriyorum.  Eğer dbgrid boş ise (veya ilgili data ) popup menudeki SIL kısmını kullanılamaz yapmak istiyorum. Fakat bir türlü bulamadım.
Dbgridin onmouse down olayına mı yazılmalı ?

Şu şekilde kullanmışım:

procedure TFSatis.DBGrid1ContextPopup(Sender: TObject; MousePos: TPoint;
 var Handled: Boolean);
begin
 if (DMAlisSatis.SatisDetayIBQ.RecordCount > 0) Then
   SatrSil1.Visible := true
 else
   SatrSil1.Visible := false;

end;


 Merhabalar,

 Üstteki aynı kod tek satırda şöyle de  yazılabilir ;


procedure TFSatis.DBGrid1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin

  SatrSil1.Visible :=  DMAlisSatis.SatisDetayIBQ.RecordCount > 0 ;

end;