CxGridPopupMenu hakkinda.. - Çözüldü

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

CxGridPopupMenu hakkinda.. - Çözüldü

Mesaj gönderen Glen »

Merhaba arkadaslar,

CxGridPopupMenu ile standart bir popup menu yaptim her column başlıkları için.. Ancak sorun şu ki, o popupmenuye bir sekilde hangi columndan gittigini görmem lazim..

CxGridPopupMenu bileşeni ile, bildiginiz gibi hangi olaylarda popupin acilacagini belirleyebiliyosunuz, Ben "On header click" icin bir popup yaptim, ancak hangi column'un gonderdigini bulmam lazim ki o column ile ilgili işlem yapabileyim..

Sorumu umarim anlatabilmişimdir, eğer daha detaylı anlatmamı isterseniz tekrar yazabilirim..

Teşekkürler..
En son Glen tarafından 23 Oca 2007 12:29 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

Biraz daha detay vermek istedim..

Kod: Tümünü seç

ActiveMdiChild;
ile Hangi formdan acildigini gorebiliyorum popupin.. Kandirmacali bir yontem ama calisiyor, daha iyisi var derseniz ve de paylasirsaniz sevinirim..

Geriye sadece hangi column üzerindeyken popupin acildigini gormem gerekiyor..

Tek tek columnlari,

Kod: Tümünü seç

for i := 0 to columncount-1 do
if cxtablo.columns[i].focused 
.....
gibi bir yontem dusundum, ancak focus olarak gorulmesi icin illa tiklanmasi gerekiyor yani mouse üzerindeyken focus olarak algilamiyor.

Kod: Tümünü seç

for i := 0 to columncount-1 do
if cxtablo.columns[i].mouseover
.....
gibi bisey lazim bana sanirim..

Ayrica

Kod: Tümünü seç

procedure Tform.TabloColumnHeaderClick(Sender: TcxGridTableView;
  AColumn: TcxGridColumn);
begin

end;

Bunun gibi bisey tam istedigim gibi, ColumnHeaderClick hem hangi column'a tiklandigini da gosteriyor. Ancak sorun su ki, Header a ben sag tikladigimda popup aciliyor, Sol tiklarsam olmaz. O yuzden,

TabloColumnHeaderRightClick gibi bisey lazim.. Bir alternatif cozumu olan var mi acaba?

Umarim ne demek istedigimi tam olarak anlatabilmisimdir.

Tekrar kolay gelsin.
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

Kod: Tümünü seç

procedure Tana.MenuAZClick(Sender: TObject);
var
  fr : TForm;
  nm : string;
  xTablo : TCxGridDBBandedTableView;
  xPopup : TCxGridPopupMenu;
  i : integer;
begin
  fr := ActiveMDIChild;
  xTablo := TcxGridDBBandedTableView(fr.FindComponent('Tablo'));
  xPopup := TCxGridPopupMenu(fr.FindComponent('CxGridPopupMenu1'));

  if xPopup.HitTest is TcxCustomGridColumnHitTest then
  showmessage(TcxCustomGridColumnHitTest(xPopup.HitTest).Column.Caption);
Cözdüm.. :) Herkese kolay gelsin...
Cevapla