Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c