2015-05-23 21 views
7

Jak wdrożyć ikony nakładek w Delphi IDE jak ten:nakładki ikon w Delphi IDE

  • na kartach plików edytora;
  • na drzewie Menedżera projektu;
  • w menu podręcznym Menedżera projektu?

Screenshot of Mercurial icon in the right-click menu on a file in the Project Manager

Odpowiedz

2

Niedawno zostały gry z menu kontekstowego Project Manager i menu kontekstowego (TPopupMenu) nie mają TCustomImageList przypisane do niego.

Aby uzyskać obrazy w menu kontekstowym, należy przypisać do niego TCustomImageList (TImageList). To, co zrobiłem, to utworzyć z tym samym właścicielem co komponent TPopupMenu.

Dla innych, wiem bardzo niewiele:

  • drzewo projektu Manager jest virtual tree view, więc może warto bawić się z nim w aplikacji, aby zobaczyć, co można zrobić.

  • Karty edytora są elementem niestandardowym, więc może być wymagane pewne zahaczenie o niskim poziomie. Zobacz, jak Delphi IDE Colorizer obsługuje niestandardowe karty; może to pomóc w przypadku haków.

Zarzut: Ponieważ ta gra wokół z wewnętrznych IDE, nie należy zakładać, tam jesteś pierwszą osobą, i zacząć od nowa pisać wszyscy inni pracują.

Edit: Jest artykuł EDN na Extending the Project Manager Context menu

+0

OK, znalazłem obiekt drzewa projektu menedżera. Nazwa ProjectTree2. Ale teraz nie rozumiem, jak określić pełną ścieżkę węzłów Unit1.pas lub Unit1.dfm? –

+0

Ponieważ ich rozmiar danych węzła wynosi 20 bajtów (XE7), podejrzewam, że należy wykonać inżynierię wsteczną układu danych węzła, aby sprawdzić, czy nazwa pliku jest w nim zawarta. –

+0

Kto może pomóc w zdefiniowaniu struktury Node.Data ProjectTree2? –