Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Bitmap в Menu   Найти похожие ветки 

 
Clift ©   (2004-02-29 23:56) [0]

При добавлении иконки(TBitmap) в динамически созданный пункт меню иконка соответствующая пункту меню подвержена инвентированию(изменению) цвета при выделении соответствующего пункта меню.
Как от этого избавиться? (Одна и та же иконка(того же цвета) независимо от того веделен пункт меню или нет)


 
Defunct ©   (2004-03-01 01:53) [1]

> При добавлении иконки(TBitmap) в динамически созданный пункт меню иконка соответствующая пункту меню подвержена инвентированию(изменению) цвета при выделении соответствующего пункта меню.

Неправда.

> Как от этого избавиться? (Одна и та же иконка(того же цвета) независимо от того веделен пункт меню или нет)

1. Отказаться от старых версий Win95.
2. Установить MS-Internet Explorer 5.0 или выше.
3. Установить режим экрана 64k цветов.
4. Использовать битмапы 16x16x8 а лучше 16x16x24


 
Clift ©   (2004-03-01 03:26) [2]

>Defunct ©
???
Почему-то битмапы в подменю SendTo и New отображаются нормально...


 
Defunct ©   (2004-03-01 03:35) [3]

> Почему-то битмапы в подменю SendTo и New отображаются нормально...

Значит они чем-то отличаются от тех которые "инвертируются". Возможно, размер или кол-во цветов не совпадает или палитра другая. Проблема напрямую связана с четырьмя перечисленными причинами.


 
Clift ©   (2004-03-01 03:47) [4]

>Defunct ©
1. Отказаться от старых версий Win95.
2. Установить MS-Internet Explorer 5.0 или выше.
3. Установить режим экрана 64k цветов.
4. Использовать битмапы 16x16x8 а лучше 16x16x24


1.Если моя версия ОС создаёт "нормальные" изображения то и я могу создать "нормальные" изображения в моей версии ОС
2.Аналогично первому
3.Аналогично(Если при текущем режиме битмапы нормально выглядят в виндовсе то и моя программа может создать "нормальные" изображения в меню)
4.Недумаю что если поменять кол-во цветов инвентирование проподёт. К тому-же я загружаю изображение из Shell32.dll т.е. стандартное изображение иконки.
...


 
Clift ©   (2004-03-01 03:51) [5]

Может я не тем пользуюсь?
Битмапы я добавляю с помощью SetMenuItemBitmaps


 
Defunct ©   (2004-03-01 04:04) [6]

Можно взглянуть на текущие установки системы:

Версия Windows?
Версия IE?
Разрешение экрана?
Размер и кол-во цветов загружаемых Bitmap?

Примеры багов:
W95 с IE3.0 (в эксплорере есть картинки в меню и на Toolbar).
В программах на Delphi неверено отображаются все меню и ToolBars.

Еще пример:
256 цветов в системе.
Один Bitmap с палитрой Windows Standard 8-bit, Второй Bitmap со спец. палитрой тоже 8-bit (например, только оттенки красного). Первый отображается правильно, второй будет с инверсией.

Еще пример:
Shell32 возвращает (4-х битовую палитру иконки с отенками цвета, что поидее у Вас и имеет место), но мы получаем ту же иконку правда со стандартной палитрой цветов, наблюдается инверсия.

Приводите все картинки к одному виду 16x16x24 тогда точно ничего не будет глючить. Для достоверности выводите их на канву.


 
Defunct ©   (2004-03-01 04:15) [7]

> Битмапы я добавляю с помощью SetMenuItemBitmaps

Можно попробовать добавлять Bitmap в ImageList, а новому пункту меню назначать ImageIndex.


 
Clift ©   (2004-03-01 04:23) [8]

>Defunct ©
Можно попробовать добавлять Bitmap в ImageList, а новому пункту меню назначать ImageIndex.


Я пишу расширение оболочки для контекстного меню. Пунктов меню и так создаётся довольно много.Используется рекурсия.Плюс меню каждый раз разное (нет возможности воспоьзоваться старым).А для каждого пункта ещё нужен обработчик, а это плюс динамический массив(двухмерный). Поэтому я пытаюсь больше использовать API(по другому получается довольно "грузно")


 
Defunct ©   (2004-03-01 04:29) [9]

> Поэтому я пытаюсь больше использовать API(по другому получается довольно "грузно")

ну что ж, тогда приводите к 16x16x24 перед добавлением в меню.
читайте про:

Bitmap.Palette



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
1-43434
Crazy_
2004-03-01 13:24
2004.03.14
Есть хелп файл(мелкософ-й), что с ним можно сделать в делфи ??


14-43814
Soft
2004-02-20 23:37
2004.03.14
Принципы эзотерического подхода к литературе.


3-43292
Rash
2004-02-12 09:46
2004.03.14
Выбрать случайным образом из всех вопросов только 5


3-43356
Gerakl
2004-02-16 10:55
2004.03.14
ADO


1-43576
Fishka
2004-02-27 10:29
2004.03.14
Запуск внешней программы и ожидание ее результатов