TImageList ?



  • hi,

    kann man irgendwie herausbekommen an welcher Componente eine TImageList angebunden ist ?



  • Es gibt Dinge die kann man nicht programmieren.
    Die Grenze wurde gefunden, es geht nicht und ICH habe es festgestellt.



  • Auf die schnelle (ohne Garantie):
    Findet alle TTreeViews in der Form, die die übergebene Imagelist bnutzen und liefert diese in einen vector zurück:

    void __fastcall TForm1::Find(TImageList *pImageList, vector<TTreeView*> &List)
    {
        for (int i=0; i < ComponentCount;i++)
        {
            TTreeView *pTreeView = dynamic_cast<TTreeView*>(Components[i]);
    
            if (pTreeView)
            {
                if (pTreeView->Images == pImageList ||
                    pTreeView->StateImages == pImageList)
                {
                    List.push_back(pTreeView);
                }
            }
        }
    }
    

    Ansonsten, falls du es "universeller" haben willst, hier (http://www.swissdelphicenter.ch/de/showcode.php?id=1084) findest eine Implementation in Delphi, die dir alle Eigenschaften und Ereignisse einer Komponente auflistet, und mit etwas "Gehirnschmalz" kannst du dann daraus ermitteln, welche Komponente deine ImageList benutzt.

    Es geht also DOCH, und ICH habe es festgestellt. 😃 😃



  • Das geht mit Sicherheit auch rekursiv über den top-level Container (Form/Frame). Wenn man sowas denn wirklich braucht.

    QFT:

    bertie schrieb:

    Es gibt Dinge die kann ICH nicht programmieren.
    Die Grenze wurde gefunden, es geht nicht und ICH habe es festgestellt.

    Aber eigentlich:
    Don´t feed the troll. Hab ich jetzt leider auch getan.



  • DocShoe schrieb:

    ....
    Aber eigentlich:
    Don´t feed the troll. Hab ich jetzt leider auch getan.

    Ok, den ersten Beitrag hab ich jetzt nicht als Troll Beitrag aufgefasst, der zweite kommt dem aber ziemlich nahe. 😃 😃 😉


Log in to reply