Runtime Popup Menü

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
dnc
Üye
Mesajlar: 4
Kayıt: 27 Oca 2017 10:42

Runtime Popup Menü

Mesaj gönderen dnc »

arkadaşlar öncelikle hepinize formda paylaştığınız bilgiler için çok teşekkür ederim. sizler sayesinde birçok problemin üstesinden geldim. ama bir sorunla karşılaştım ve formda bulamadım.

aşağıdaki kodda urungrup tablosundaki kayıtlar doğrultusunda TcxTabSheet ekliyorum. urun tablosunda kayıtlı olan ürünleri de buton olarak o tabsheet'lerin içerisine ekliyorum. tabi bide porsiyonlarım var onlarıda popup olarak ekliyorum. istediğim şu; her butonun popupları var ve butonları tıkladığımda (sağ tıkladığımda sorun yok) popup açılsın istiyorum. popupac diye bir prosedür ekledim ve butonların onclick olayına bunu atadım. şimdi popupac prosedürüne ne eklemem. gerek birkaç şey denedim ama hep hata ile karşılaştım. yardımlarınız için şimdiden teşekkür ederim. tabiki eğer yanlış yaptığım şeyler varsa onları da dile getirmenizi isterim.

Kod: Tümünü seç

procedure TMasaAc.popupac(Sender: tobject);
begin
	
end;

Kod: Tümünü seç

procedure TMasaAc.FormCreate(Sender: TObject);
var
  ust,sol,genis,yuksek,i,a,b:integer;
begin

    dm.urungrup.Active:=false;
    dm.urungrup.SQL.Clear;
    dm.urungrup.SQL.Add('select * from urungrup');
    dm.urungrup.Open;
    dm.urungrup.First;






    for i:= 1 to dm.urungrup.RecordCount do
        begin
            grup[i]:=TcxTabSheet.Create(self);
            grup[i].CAPTION:=dm.urungrupgrup.AsString;
            grup[i].PageControl:=page_urun;


                dm.urun.Active:=false;
                dm.urun.SQL.Clear;
                dm.urun.SQL.Add('select * from urun');
                dm.urun.SQL.Add('where urungrup=:s');
                dm.urun.Parameters.ParamByName('s').Value:=dm.urungrupid.AsInteger;
                dm.urun.active:=true;
                dm.urun.First;
                sol:=0; yuksek:=0; ust:=0; genis:=0;
              for a := 1 to dm.urun.RecordCount do
                begin
                     urun[a]:=tcxbutton.create(self);
                     urun[a].CAPTION:=dm.urunurun.AsString;
                     urun[a].Tag:=dm.urunid.AsInteger;
                     urun[a].Caption:=dm.urunurun.AsString;
                     urun[a].Parent:=grup[i];
                     urun[a].onclick:=popupac;


                     dm.porsiyon.Close;
                     dm.porsiyon.SQL.Clear;
                     dm.porsiyon.SQL.Add('select * from porsiyon');
                     dm.porsiyon.SQL.Add('where');
                     dm.porsiyon.SQL.Add('urunid=:urunid');
                     dm.porsiyon.Parameters.ParamByName('urunid').Value:=dm.urunid.AsInteger;
                     dm.porsiyon.Open;
                     dm.porsiyon.First;
                     popup[a]:=tdxbarpopupmenu.Create(self);

                     for b := 1 to dm.porsiyon.RecordCount do
                         begin
                                 with popup[a].ItemLinks.AddButton.Item as TdxBarButton do
                                      begin
                                           ButtonStyle := bsDefault;
                                           Tag         := dm.porsiyonid.AsInteger;
                                           Caption     := dm.porsiyonporsiyon.AsString+' '+dm.porsiyonfiyat.AsString+' TL';
                                           OnClick     := urunekle;
                                      end;
                                 dm.porsiyon.Next;
                         end;
                       urun[a].PopupMenu:=popup[a];
                       popup[a].Font.Size:=15;

                     if a=1 then
                          begin
                              ust:=20;
                              sol:=0;
                          end
                     else
                          begin
                              if (GRUP[i].Width - sol ) div 100 = 1 then
                                    begin
                                        ust:=ust+80;
                                        sol:=0;
                                    end else
                              SOL:=sol+150;
                          end;



                     urun[a].Left:=sol;
                     urun[a].Top:=ust;
                     urun[a].Height:=80;
                     urun[a].Width:=150;


                     dm.urun.Next;

                end;

            dm.urungrup.Next;
        end;
end;
I'm a beginner
dnc
Üye
Mesajlar: 4
Kayıt: 27 Oca 2017 10:42

Re: Runtime Popup Menü

Mesaj gönderen dnc »

her işte bir hayır var, şimdi yazdım mesajı şimdide çözdüm sorunu

tdxbarpopupmenu(TcxButton(sender).PopupMenu).Popup(1,1);


yapınca çalıştı ama yinede teşekkür ederim.
I'm a beginner
Cevapla