Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
treeview den popup menuye aktarım
#6
(31-08-2023, Saat: 17:11)mrmarman Adlı Kullanıcıdan Alıntı: Şöyle TreeView'i node by node dolaşarak denemek isteyebilirsiniz. 

* Seçeceğiniz ilk TreeNode hangi seviyede ise aynı seviyedeki diğer kardeş ve alt node'ları tek tek sonuna kadar dolaşır.


procedure TForm1.TreeViewToMenu(aTreeNode: TTreeNode; aMenuItem: TMenuItem);
var
  LNewMenuItem: TMenuItem;
begin
  while aTreeNode <> nil do
  begin
    LNewMenuItem            := TMenuItem.Create(nil);
    LNewMenuItem.Caption    := aTreeNode.Text;

    aMenuItem.Add(LNewMenuItem);

    if aTreeNode.HasChildren
    then // recursive...
      TreeViewToMenu(aTreeNode.GetFirstChild, LNewMenuItem);

    aTreeNode := aTreeNode.GetNextSibling;
  end;
end;


Kullanımı :

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  PopupMenu1.Items.Clear;
  TreeViewToMenu(TreeView1.Items[0], PopupMenu1.Items);
end;



eaoco2gutkswd5dpz2ur.png

@mrmarman  hocam, burada hangi popup menüye tıkladığımzda onun başlığını alabilmek için kod ne olmalı? şu anda şöyle bir prosedür ekledim.

procedure TForm1.HandlePopupItem(Sender: TObject);
begin
  if (Tmenuitem(sender).count <1) then
  ShowMessage(TMenuItem(Sender).Caption);
end;

yazdığınız kodda da şu şekilde ekledim.

procedure TreeViewToMenu(aTreeNode: TTreeNode; aMenuItem: TMenuItem);
var
  LNewMenuItem: TMenuItem;
begin
  while aTreeNode <> nil do
  begin
    LNewMenuItem            := TMenuItem.Create(nil);
    LNewMenuItem.Caption    := aTreeNode.Text;
    aMenuItem.Add(LNewMenuItem);
    LNewMenuItem.OnClick := form1.HandlePopupItem;
    if aTreeNode.HasChildren
    then // recursive...
      TreeViewToMenu(aTreeNode.GetFirstChild, LNewMenuItem);

    aTreeNode := aTreeNode.GetNextSibling;
  end;
end;

ancak, sadece en son node a tıklanınca başlık veriyor. ilk node tıkladığımda vermiyor. Yani sağ tarafa açılan en son childda veriyor başlığı.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla


Bu Konudaki Yorumlar
treeview den popup menuye aktarım - Yazar: shooterman - 31-08-2023, Saat: 16:24
treeview den popup menuye aktarım - Yazar: mrmarman - 31-08-2023, Saat: 17:11
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 01-09-2023, Saat: 11:26
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 01-09-2023, Saat: 16:28
Cvp: treeview den popup menuye aktarım - Yazar: veteran - 31-08-2023, Saat: 21:04
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 31-08-2023, Saat: 23:02
treeview den popup menuye aktarım - Yazar: mrmarman - 01-09-2023, Saat: 17:38
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 04-09-2023, Saat: 10:29
treeview den popup menuye aktarım - Yazar: mrmarman - 04-09-2023, Saat: 10:59
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 04-09-2023, Saat: 11:05
treeview den popup menuye aktarım - Yazar: mrmarman - 04-09-2023, Saat: 14:54
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 04-09-2023, Saat: 14:57
treeview den popup menuye aktarım - Yazar: mrmarman - 04-09-2023, Saat: 17:42
Cvp: treeview den popup menuye aktarım - Yazar: shooterman - 05-09-2023, Saat: 10:29

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Excel Aktarım OZCANK 2 911 21-08-2023, Saat: 12:57
Son Yorum: frmman
Question Treeview ile iç içe sonsuz gösterim YILDIRIMBEY 1 1.020 17-03-2022, Saat: 10:57
Son Yorum: RAD Coder
  Webbrowser üzerinde Açılan Sayfanın Popup Sayfasındaki Linkler COMMANDX 2 1.512 03-08-2021, Saat: 23:59
Son Yorum: COMMANDX
  POPUP MENÜ KAPATMA CesuR 3 2.255 01-06-2021, Saat: 08:29
Son Yorum: bydelphi
  StringList en hızlı aktarım Veritabanı info@guzelceker.com 20 12.303 16-06-2020, Saat: 14:35
Son Yorum: ismailkocacan



Konuyu Okuyanlar: 1 Ziyaretçi