cxGridPopupMenu ye ek eleman nasıl ekleyebilrim (Çözüldü)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

cxGridPopupMenu ye ek eleman nasıl ekleyebilrim (Çözüldü)

Mesaj gönderen adelphiforumz »

S.A.
cxGrid column üzerinde sağtuşa tıkladığımda cxGridPopupMenu satırlarına bende satır ekleyebilirmiyim.
bunu nasıl yapabilirim yardımcı olabileceklere teşekkürler
En son adelphiforumz tarafından 29 May 2013 02:27 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: cxGridPopupMenu ye ek eleman nasıl ekleyebilrim

Mesaj gönderen adelphiforumz »

S.A.
Şöyle bir kısmı çözüm buldum fakat şimdide hangi kolonun üzerinde sağ tuşa basıldığını, bu kolonun adını ve başlığını almaya çalışıyorum.
fikri olan varmıdır.

Kod: Tümünü seç

Uses
  cxGridMenuOperations, cxGridStdPopupMenu;

var
  processed: Boolean = False;

procedure TForm1.cxGridPopupMenu1Popup(ASenderMenu: TComponent; AHitTest: TcxCustomGridHitTest; X, Y: Integer; var AllowPopup: Boolean);
 var
   AItem: TMenuItem;
   i:integer;
 begin
   //change image index
   cxGetGridPopupMenuOperation(TPopupMenu(ASenderMenu).Items[0]).ImageIndex := 5;
   // hide item
   cxGetGridPopupMenuOperation(TPopupMenu(ASenderMenu).Items[1]).VisibleState := pmoFalse;
   // create new item

  if not processed then
   begin
     AItem            := TMenuItem.Create(self);
     AItem.Name       := 'Ciz1';
     AItem.Caption    := '-';
     AItem.ImageIndex := 0;
     AItem.Checked    := True; // <- this a no effect !
     TPopupMenu(ASenderMenu).Items.Add(AItem);
     AItem            := TMenuItem.Create(self);
     AItem.Name       := 'cxPUM_test';
     AItem.Caption    := 'test';
     AItem.ImageIndex := 5;
     AItem.Checked    := True; // <- this a no effect !
     AItem.OnClick    := xxxonclick;
     TPopupMenu(ASenderMenu).Items.Add(AItem);
     processed := true;
   end
   else
   begin
    if ASenderMenu is TcxGridStdHeaderMenu then
    begin
      for i := 0 to TcxGridStdHeaderMenu(ASenderMenu).Items.Count - 1 do
      begin
        if TcxGridStdHeaderMenu(ASenderMenu).Items[i].Name = 'cxPUM_Test' then
        begin
           TcxGridStdHeaderMenu(ASenderMenu).Items[i].checked := True; // executed but no effect
           break;
        end;
      end;
    end;
   end;
 end;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: cxGridPopupMenu ye ek eleman nasıl ekleyebilrim (Çözüldü

Mesaj gönderen adelphiforumz »

Kod: Tümünü seç

Uses
  cxGridMenuOperations, cxGridStdPopupMenu;

var
    GnlAHitTest: TcxCustomGridHitTest;
implementation
procedure TDMGymPro.PUM_cxGridPopup(ASenderMenu: TComponent; AHitTest: TcxCustomGridHitTest; X, Y: Integer; var AllowPopup: Boolean);
var
  AItem: TMenuItem;
  i:integer;
begin
   //change image index
   GnlAHitTest := AHitTest;
...
end;

procedure  xxxxx;
begin
  if Assigned(GetPropInfo(TcxGridFooterCellHitTest(GnlAHitTest).Column, 'Caption')) then
    xString := GetStrProp(TcxGridFooterCellHitTest(GnlAHitTest).Column, 'Caption');
end

Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla