problem z bitmapami na menu - po raz setny :/

0

No więc mam następujący problem męczy się z tym już dość dłuższy czas :

Mam menu oraz Toolbara. Niektóre elementy menu mają mieć takie same polecenia jak przy toolbarze, dlatego zastosowałem akcje (TActionList). Problem w tym, że bitmapy z menu mają być INNE niż glymphy z Toolbara (nawet jeśli ta sama akcja). Dałem dlatego rysunki na liste (TImageList) i w menu tylko się odwołuje do listy (ImageIndex). I już pierwszy problem: kiedy daje element menu jako nieaktywny, program źle "szaruje" mi bitmape:
user image
Aktywny - jest dobrze
user image
Nieaktywny - program nie pokazuje wewnętrznych konturów - jak to naprawić ?

Po drugie to, gdzie ma wstawiać te rysunki: do menu czy od razu do akcji ?

Po trzecie: wstawiłem sobie nową akcje, Menu open i mimo, że nic jeszcze nie napisałem przy niej, po kliknięciu na menu open otworzył się opendialog... skąd komputer wiedział, że o to chodzi? - skoro nawet nie było jeszcze komponentu opendialog na formie? Jak to działa? Szukałem w serwisie i nie mogłem niczego znaleźć o akcjach, ani jednego artykuły... również to samo na innych stronach o delphi.. Niech mi ktoś pomoże.

I jak zrobić nową kategorię do akcji... mogę tylko zrobić standardową.. a ja chcę swoją? - nie mogę tego zrobić ?

0

Mam menu oraz Toolbara. Niektóre elementy menu mają mieć takie same polecenia jak przy toolbarze, dlatego zastosowałem akcje (TActionList). Problem w tym, że bitmapy z menu mają być INNE niż glymphy z Toolbara (nawet jeśli ta sama akcja). Dałem dlatego rysunki na liste (TImageList) i w menu tylko się odwołuje do listy (ImageIndex). I już pierwszy problem: kiedy daje element menu jako nieaktywny, program źle "szaruje" mi bitmape:
Nieaktywny - program nie pokazuje wewnętrznych konturów - jak to naprawić ?

OwnerDraw - nie chce mi się myśleć, a co ci przeszkadza niepokazywanie konturów, program ma być do korzystania, a nie do oglądania.

Po drugie to, gdzie ma wstawiać te rysunki: do menu czy od razu do akcji ?

To juz sam zadecydujesz.

Po trzecie: wstawiłem sobie nową akcje, Menu open i mimo, że nic jeszcze nie napisałem przy niej, po kliknięciu na menu open otworzył się opendialog... skąd komputer wiedział, że o to chodzi? - skoro nawet nie było jeszcze komponentu opendialog na formie? Jak to działa? Szukałem w serwisie i nie mogłem niczego znaleźć o akcjach, ani jednego artykuły... również to samo na innych stronach o delphi.. Niech mi ktoś pomoże.

I jak zrobić nową kategorię do akcji... mogę tylko zrobić standardową.. a ja chcę swoją? - nie mogę tego zrobić ?

Nie lepiej jest zrobić akcję i przypisać jej odpowiedni Event?

0

<font color="green">Nie lepiej jest zrobić standardową akcję i przypisać jej odpowiedni Event?</span>

A gdzie są te polecenia w standardowych akcjach.... A co do konturu: zobacz jak to wygląda kijowo :-8

0

Poczytaj sobie źródła standardowych akcji, to się dowiesz, dlaczego się opendialog uruchamia :)

0

Jeśli chodzi o kontur, to toolbar ma chyba właściwości images oraz disabledimages :)

0

<font color="green">OwnerDraw - nie chce mi się myśleć, a co ci przeszkadza niepokazywanie konturów, program ma być do korzystania, a nie do oglądania. </span>

No dobra, pozmieniałem te OwnerDraw w menu i dalej nic.. jest jak było...możesz dokładniej wytłumaczyć ?

0

Detox,a może zmień sobie glypha. Mam takiego co wygląda o tak jak jest wyłączony: user image

0

Glyph tzn. bitmapka musi być 16-kolorowa.

0

<font color="green">Glyph tzn. bitmapka musi być 16-kolorowa.</span>

Faktycznie przerobiłem na 16-to kolorową bitmape BMP i pomogło... teraz już normalnie się pojawiają wewnętrzne kontury przy Enabled False. Problem natomiast już pojawia się przy najechaniu myszką:

  1. Gdy jest aktywny: jest dobrze
    user image

  2. Gdy jest nieaktywny - coś sie psuje :-/ user image

Jak to naprawić z kolei ?

0
  1. Gdy jest nieaktywny - coś sie psuje :-/ user image

Jak to naprawić z kolei ?

Myślę, że coś namieszałeś z przezroczystością. Pewnie na zewnątrz ikonki jest taki sam kolor, jak wewnątrz. Daj na zewnątrz tej karteczki kolor np. różowy. Wtedy powinno być ok.

0

<font color="green">Myślę, że coś namieszałeś z przezroczystością. Pewnie na zewnątrz ikonki jest taki sam kolor, jak wewnątrz. Daj na zewnątrz tej karteczki kolor np. różowy. Wtedy powinno być ok.</span>

Właśnie tak robię, na zewnątrz bitmapa ma kolor różowy (clFushia) i nawet mu ustawiam Transparent color na clFushia na liście to i tak po kliknięciu na przyciski OK i ponownym otwarciu listy, ustawia się automatycznie clNone, a wybór jest nieaktywny.

???

1 użytkowników online, w tym zalogowanych: 0, gości: 1