![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Bmp.StretchDrawTransparent [Delphi]
avs © (2006-11-08 07:57:00)Celeron 1000, win XP SP2
1.По-моему, этот метод, вернее,DrawTransparent не работает.Это произошло в интервале версий 2.18-2.34.
2.Главное меню отрисовывается после того, как что - либо поменять в нем инспекором объектов либо в DESIGN TIME ткнуть в один из видимых пунктов. Я уже писал об этом. Владимир тогда посоветовал попробовать NOT_USE_KOLCTRLWRAPPER .
В версии 2.40 с меню ситуация еще интереснее.
Нужно не просто ткнуть в один из видимых пунктов, а сделать это неоднократно 5-6 раз.
В общем, сейчас вернулся на 2.15.
Exe-ник, изготовленный посредством 2.15, под Win98 (Pentium 166)
работает нормально, изготовленный посредством 2.39 при закрытии формы вызывает ошибку.
С уважением, А.Шаталов.
avs (2006-11-12 15:04:00) [1]Владимир, снимаю шляпу, а также вопрос по меню.
В версии 2.42 Все работает!
avs (2006-11-12 14:51:00) [2]Vladimir Kladov
> Я заметил только что menu bar не отрисовывался при открытии
> формы. Если что-то еще глючит, поясните точнее.
Большое спасибо за StretchDrawTransparent и разъяснения по поводу onChar. Насчет меню - сейчас установлю 2.42, и сразу же доложу о поведении меню, созданного в старом проекте.
Vladimir Kladov (2006-11-11 12:19:00) [3]это относится к конкретному обработчику OnChar. Я делаю так. Проект открывается и Delphi начинает ругаться. Я копирую содержимое обработчика, и очищаю его. Если он после этого не удалился сам (он может не удалиться, если есть еще куча подобных несовместимостей, и я в этом случае на вопрос "remove reference?..." отвечаю "нет", потому что "да" все равно не срабатывает, да и легче так. Отвечать приходится на всю кучу нсовместимых обработчиков). Потом (раз он сам не удалился) переключаюсь в вид dfm формы как текста, нахожу нужный OnChar, удаляю строчку руками, возвращаюсь в вид "as Form". Теперь обработчика точно нет, создаю новый, на этот раз тип у него правильный и их клипборда вставляю тот же код. Если это не последний такой обработчик, процедуру приходится повторять. Вчера переделывал большой проект, 40 форм, в каждой по несколько обработчиков, часа полтора ушло. А что делать, прогресс требует жертв.
Еще несовместим теперь обработчик OnLVData. Все то же самое.
Насчет меню я не знаю. Я заметил только что menu bar не отрисовывался при открытии формы. Если что-то еще глючит, поясните точнее.
avs (2006-11-11 09:24:00) [4]Vladimir KladovБлагодарю за помощь.
Теперь о меню. Вновь созданное отрисовывается нормально, а что делать с моим давно созданным и далеко не маленьким, которое глючит?
Есть способ решить это легким движением руки?
И еще один вопрос:
В связи с т.к. тип KOLChar объявлен теперь как не точный эквивалент типа Char (type KOLChar = type Char), то существующие обработчики события OnChar могут становиться несовместимым с новой декларацией ...
Это относится только к обработчикам или нужно поменять Char на KolChar и т.д. в мировом масштабе?
Заранее благодарен, А.Шаталов.
Vladimir Kladov (2006-11-10 19:12:00) [5]по прозрачности для 1, 4, 8 бит исправил. Не отрисовывалось меню в дизайнере приоткрытии формы/проекта в IDE? Тоже исправил. И кстати авто-удаление кода присвоения обработчика после его очистки тоже. От кэширования пришлось отказаться для главного меню. Но скорость вроде бы не сильно упала, я попробовал на очень большом меню.
avs (2006-11-10 18:51:00) [6]P.S. А Convert2Mask для 1-битного изображения вызывает Bmp.StretchDrawTransparent без всякого принуждения с моей стороны.
avs (2006-11-10 18:47:00) [7]MTsv DN А кто ж Вам скажет... Это avs развлекается так
Разъясняю смысл развлечения: На пустой форме рисуется сетка чернымцветом. Посредством отслеживания координат мыши в Runtime определяю координаты и размер окон ввода и избавляюсь от необходимости грузить проект пояснительным текстом к форме ввода платежки. При этом белый фон
нежелателен. Вот собственно и все.
MTsv DN (2006-11-10 14:58:00) [8]> что-то я не понял: зачем нужен Convert2Mask для 1-битного изображения, оно и так уже монохромное?
А кто ж Вам скажет... Это avsразвлекается так ;) Я только факт констатирую...
Смысл такой:
1. Берем 1-битного изображение, загружаем его в PBitmap.
2. В FormOnPaint пишем:
Bmp.StretchDrawTransparent(DC, Form.ClientRect, clWhite);
В итоге, PAS-версия рисует ТОЛЬКО черный цвет (т.е. то что и требовалось), а ASM-версия картинку...
Если же вместо clWhite, использовать clBlack, то обе версии, правильно исключают ЧЕРНЫЙ ЦВЕТ...
Vladimir Kladov (2006-11-10 14:50:00) [9]что-то я не понял: зачем нужен Convert2Mask для 1-битного изображения, оно и так уже монохромное?
avs (2006-11-10 13:52:00) [10]MTsv DNP.S. Может быть, пробежимся по истории TKolMainmenu в этом же диапазоне версий.
Что все-таки поменялось, после чего стала нарушаться отрисовка в Design Time. Тем более, что выяснилось, что KOLCTRLWRAPPER ни при чем.
avs (2006-11-10 13:46:00) [11]MTsv DN
Ничего, пока буду пользовать Волшебное слово...
MTsv DN (2006-11-10 13:42:00) [12]Ага... Осталось дело за малым...исправить это. Но и сожалению, моих познаний в ASM'е не достаточно для этого :-(
avs (2006-11-10 12:54:00) [13]MTsv DN Посмотрел, присланный проект...
Истина установлена. Примите мою благодарность.
MTsv DN (2006-11-10 12:07:00) [14]> Это любопытно...
> Установил на P166 , Win98se, Delphi5 2.41а - действительно,
> все работает.
Не знаю... Не тестировал...
Посмотрел, присланный проект...
В общем, с 1bit изображениями, ASM-версия CONVERT2MASK работает не корректно... Причем не конвертирует только White, Black конвертит нормально...
avs (2006-11-10 11:23:00) [15]Это любопытно...
Установил на P166 , Win98se, Delphi5 2.41а - действительно, все работает.
avs (2006-11-10 09:08:00) [16]ANTPro , А какой прогой он делается
Уточняю: Загрузки,раздел "Инструменты"
avs (2006-11-10 07:17:00) [17]ANTPro
А какой прогой он делается
UpdateMaker лежит в разделе http://kolmck.net/rindex.htm
ANTPro (2006-11-09 23:40:00) [18]> [10] MTsv DN © (09.11.06 20:32)
> upd-файл...
А какой прогой он делается?
Vladimir Kladov (2006-11-09 21:45:00) [19]вы бы чем откатывать все символом условной компиляции попробовали все-таки разобраться, в чем дело. Дайте пример bmp и своего кода для отрисовки transparent, который работает только по-старому. И автору нового варианта будет интересно тоже наверняка.
avs (2006-11-09 21:33:00) [20]MTsv DNКидаю сразу все, встречайте.