[delphi] kolorów w trayu ...

0

Jak wykryć ile może być w trayu użytych kolorów, bo zdaje się że we wszystkich windowsach oprócz XP można 16, ale np w 2k jest standardowo 16, a można doinstalować jakiś programik i ma się już truecolor więc może w innych winach też jest taka możliwość i chciałbym właśnie to wykryć. Dużo programów musi mieć takie wykrywanie bo jakby nie miały a spróbowały umieścić ikonę truecolor w trayu to by przybrała kolory szare albo całkiem inne niż powinny.

I przy okazji przydałaby mi się wiadomość czy na pewno tylko w XP standardowo jest więcej niż 16 kolorów.

0
Adamo napisał(a)

I przy okazji przydałaby mi się wiadomość czy na pewno tylko w XP standardowo jest więcej niż 16 kolorów.

Windows XP prawdopodobnie nie ma ograniczeń w ilości kolorów w trayu. Windows ME był pierwszym system, który obsługuje w nim max 256 kolorów. Reszta (2k, 98, 95, nt) tylko 16 kolorów.

Jest to prawodpodobnie związane funkcją ImageList_Create gdzie domyślnie dla traya przyjmowane jest ILC_COLOR4, czyli max 16 kolorów.

//Istnieją łatki z modyfikowanym explorer.exe które dają możliwość wyświetlania 256 kolorów w trayu, ale zależą one ściśle od danej wersji językowej systemu

0

Myślę, że jak zrobisz sobie kilka różnych wersji ikonki w jednym pliku, to windows sam sobie wybierze tą, która najbardziej mu pasuje :].

0
thenkles napisał(a)

Myślę, że jak zrobisz sobie kilka różnych wersji ikonki w jednym pliku, to windows sam sobie wybierze tą, która najbardziej mu pasuje :].

no właśnie że też tak myślałem ale okazało się że Win (przynajmniej 98) zawsze sobie wybiera jedną i to jeszcze w dodatku złą

czyli mam tylko dwa wyjścia chyba:

  1. zrobić ikonkę 16 kolorów i kij z tym
  2. zrobić wykrywanie czy system to XP albo ME i ignorować tego typu nakładki np na Win2k dając im 16 kolorową

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.