Menu i bitmapy - po raz setny

0

I znowu mam ten sam problem. Mimo, że daje BMP`y do TImageList wszystkie 16 - to kolorowe, to i tak mi źle pokazuje przy enabled := False. Co trzeba ustawić w TImageList oraz w samym dodawaniu bitmapy, żeby to wyglądało normalnie. Poniżej screen ("zapisz" jest źle wyświetlane, znaczy się nie pokazuje konturów wewnętrznych.

user image

0

Opróźnij TImageList i wsadź tylko 16 kolorowe!

0

Tak też zrobiłem, wziełem Clear i jeszcze dodatkowo zapisałem dla pewności :), później załadowałem te 3 bitmapyi dalej jest tak samo.

PS: Na pewno są takie jakie powinny być: BMP 16 x 16, każdy o rozmiarze dokładnie: 246 bajtów.

Co jest nie tak ?

0

Wiesz, tak są "wyszarzane" domyślnie - jeśli chcesz zeby bylo inaczej to spróbuj dodać Image'e w odcieniach szarości i zmodyfikowac procedurke wyswietlajaca to (musisz uzyc CustomDraw) tak, zeby sama je wybierala w zaleznosci od potrzeby

0

Może jaśniej... chciałem zrobić tak, aby jedna lista była dla aktywnych a druga do nieaktywnych, ale się tak nie dało.. można to jakos zrobic?

PS: nie da nic.. if ten element jest nieaktywny , wtedy zmień bitmape, bo już ona się własnie zmienia na szarą.. próbowałem :/

0

Dodaj sobie komponent XPMenu wtedy ładnie wyglądają ikonki w [code]enabled := False;[/code] !!!!

0

PS: nie da nic.. if ten element jest nieaktywny , wtedy zmień bitmape, bo już ona się własnie zmienia na szarą.. próbowałem :/

Tfu... nie CustomDraw tylko OwnerDraw. Bo przecież kiedy używasz OwnerDraw - masz pełną kontrolę nad tym, jak powstaje obraz danej pozycji w menu. Na penwo w takim razie możesz wybrać właściwy ImageList, po sprawdzeniu czy dana pozycja jest dostępna. Minus ten, że resztę rysowania (podświetlenie itp.) chyba też będziesz musiał zaprogramować (Chyba, ze reszta poleci domyślnie... nie pamiętam ^^").

0

<font color="green">wybrać właściwy ImageList, po sprawdzeniu czy dana pozycja jest dostępna</span>

Hmm jeszcze nie mi się nie udało w menu wyświetlić jednej bitmapy z jednej listy, a drugiej z drugiej, czy też z trzeciej - menu przyjmuje tylko jedną TImageList`e, zatem jak określe ją na "Lista_nieaktywnych" dla przykładu, to wszystkie bitmapy staną się nieaktywne, czyż nie?

0

W ownerdraw możesz mu normalnie kazać narysować obrazek z ImageListy przez

ImageList1.Draw(Canvas, X, Y, Index);

wiec nie powinno byc problemu.

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