Форум: "KOL";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
ВнизBmp.StretchDrawTransparent Найти похожие ветки
← →
avs © (2006-11-08 07:57) [0]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 при закрытии формы вызывает ошибку.
С уважением, А.Шаталов.
← →
[e]Bu$ter © (2006-11-08 10:28) [1]У всех работает, у вас нет...
Вы уверены, что правильно обновляетесь? Build везде сделан?
← →
avs © (2006-11-09 07:48) [2]Build, конечно, вещь хорошая, без оного я вообще не смог бы ходить с версии на версию.
Сейчас попробовал сделать маленький project c меню и bmp.
Bmp - пустографка с платежного поручения, черно-белая.
Меню действительно стало работать в Design time нормально,но
StretchDrawTransparent не работает.(StretchDraw-ит, но не Transparent-ит)
Фрагмент кода прилагается.
Kol 2.40var
Form1 {$IFDEF KOL_MCK} : PForm1 {$ELSE} : TForm1 {$ENDIF} ;
{$IFDEF KOL_MCK}
Bmp:PBitmap;
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
Bmp:=NewBitmap(200,100);
Bmp.LoadFromFile(GetStartDir+"Bmpf.bmp");
end;
procedure TForm1.KOLForm1Paint(Sender: PControl; DC: HDC);
begin
Bmp.StretchDrawTransparent(Dc,Form.ClientRect,clWindow);
end;
← →
MTsv DN © (2006-11-09 08:46) [3]> Фрагмент кода прилагается.
> Kol 2.40
Я улыбаюсь... То Вы на 2.15 переходите, то 2.40 пользуетесь (кстати, а какой 2.40 8) ???)...
Щас тестировал на 2.41а... Результат работы Вашего кода: ПОЛОЖИТЕЛЬНО!!! И СтрейчДроит, и Трансперит тоже...
← →
Barloggg (2006-11-09 08:51) [4]между этими версиями 2.15 и 2.40 drawtransparent изменился. однако старая версия осталась, надо только вспомнить эту директиву, если уж вам нужна именно старая версия кода.
← →
MTsv DN © (2006-11-09 08:54) [5]Кстати... В версии 2.15 использовалась старый вариант функции Convert2Mask... В 2.41а есть возможность использовать этот вариант (просто я ее использую сам, а когда Владимиру upd-файл скидывал, забыл удалить)... Для этого используйте директиву USE_OLDCONVERT2MASK...
← →
MTsv DN © (2006-11-09 08:55) [6]> между этими версиями 2.15 и 2.40 drawtransparent изменился
Если быть точнее, то в 2.21...
← →
avs © (2006-11-09 17:35) [7]Благодарю всех, кто откликнулся.
MTsv DN, все версии беру только с Вашего сайта, причем KOL и MCK в одном архиве. Версия kol_mck_v2.40c.7z.
Устанавливал с нуля.(Переименвал папку и удалил все упоминания о Kol из Delphi)
Пример, приведенный мною, создавался с нуля под 2.40с, который я пока тестирую.
Кстати... В версии 2.15 использовалась старый вариант функции Convert2Mask...<i/>
Мне абсолютно все едино, со старым или новым вариантом будет работать
Bmp.StretchDrawTransparent, лишь бы работал.
На 2.15 я перешел с 2.39 после сигнала "Большой баг".
между этими версиями 2.15 и 2.40 drawtransparent изменился
Если быть точнее, то в 2.21....
Стало быть, мальчик все же был..
А не было чего либо подобного с Меню?
И можно ли адаптировать меню, рожденное еще где-то в версии 1.85 к 2.41,
или нужно его грохнуть и пересоздать врукопашную с нуля?
Впрочем, возможно, последний вопрос преждевременный.
(В том случае, если вышеупомянутые вещи в 2.41а реализованы иначе, чем в 2.40с)
Качаю 2.41а и буду пробовать.
Еще раз всем спасибо.
← →
avs © (2006-11-09 19:37) [8]Доброго времени суток всем.
Что касается Bmp.StretchDrawTransparent, то у меня в 2.41 работает только с
волшебным словом USE_OLDCONVERT2MASK.
Видимо то же и для 2.21 и выше?
Получается, что казалось бы, стандартный метод работает только со старой версией кода?...
← →
ANTPro © (2006-11-09 20:04) [9]> [8] avs © (09.11.06 19:37)
Старый CONVERT2MASK медленее:Версия KOL 1.91 [ASM]
Размер : [10000]x[10000]x[16]
Время : 2313
Версия KOL 2.37 [ASM]
Размер : [10000]x[10000]x[16]
Время : 640
Версия KOL 2.36+ [MYPAS] - моя попытка оптимизировать :)
Размер : [10000]x[10000]x[16]
Время : 219
← →
MTsv DN © (2006-11-09 20:32) [10]> Что касается Bmp.StretchDrawTransparent, то у меня в 2.41
> работает только с
> волшебным словом USE_OLDCONVERT2MASK.
> Видимо то же и для 2.21 и выше?
> Получается, что казалось бы, стандартный метод работает
> только со старой версией кода?...
У меня и так и сяк работает... Может картинку скинешь, а еще лучше temp-овый проект...
> Версия KOL 2.36+ [MYPAS] - моя попытка оптимизировать :)
> Размер : [10000]x[10000]x[16]
> Время : 219
Так в чем дело 8) Подправь 2.41а (хотя функция не менялась с 2.21), скинь Владимиру upd-файл... ...Пускай дело в массы...если, конечно, это не приват...
← →
ANTPro © (2006-11-09 21:04) [11]> [10] MTsv DN © (09.11.06 20:32)
> хотя функция не менялась с 2.21
Изменилась в 2.37
> [10] MTsv DN © (09.11.06 20:32)
> Так в чем дело 8)
Хочу сделать PSpeedBitmap, но все как-то не до этого.
Есть важное ограничение: Размеры Bitmap"a должны быть кратны 8 (Меня это вполне устраивает)
← →
avs © (2006-11-09 21:33) [12]MTsv DN Кидаю сразу все, встречайте.
← →
Vladimir Kladov (2006-11-09 21:45) [13]вы бы чем откатывать все символом условной компиляции попробовали все-таки разобраться, в чем дело. Дайте пример bmp и своего кода для отрисовки transparent, который работает только по-старому. И автору нового варианта будет интересно тоже наверняка.
← →
ANTPro © (2006-11-09 23:40) [14]> [10] MTsv DN © (09.11.06 20:32)
> upd-файл...
А какой прогой он делается?
← →
avs © (2006-11-10 07:17) [15]ANTPro
А какой прогой он делается
UpdateMaker лежит в разделе http://kolmck.net/rindex.htm
← →
avs © (2006-11-10 09:08) [16]ANTPro , А какой прогой он делается
Уточняю: Загрузки,раздел "Инструменты"
← →
avs © (2006-11-10 11:23) [17]Это любопытно...
Установил на P166 , Win98se, Delphi5 2.41а - действительно, все работает.
← →
MTsv DN © (2006-11-10 12:07) [18]> Это любопытно...
> Установил на P166 , Win98se, Delphi5 2.41а - действительно,
> все работает.
Не знаю... Не тестировал...
Посмотрел, присланный проект...
В общем, с 1bit изображениями, ASM-версия CONVERT2MASK работает не корректно... Причем не конвертирует только White, Black конвертит нормально...
← →
avs © (2006-11-10 12:54) [19]MTsv DN Посмотрел, присланный проект...
Истина установлена. Примите мою благодарность.
← →
MTsv DN © (2006-11-10 13:42) [20]Ага... Осталось дело за малым...исправить это. Но и сожалению, моих познаний в ASM"е не достаточно для этого :-(
← →
avs © (2006-11-10 13:46) [21]MTsv DN
Ничего, пока буду пользовать Волшебное слово...
← →
avs © (2006-11-10 13:52) [22]MTsv DN P.S. Может быть, пробежимся по истории TKolMainmenu в этом же диапазоне версий.
Что все-таки поменялось, после чего стала нарушаться отрисовка в Design Time. Тем более, что выяснилось, что KOLCTRLWRAPPER ни при чем.
← →
Vladimir Kladov (2006-11-10 14:50) [23]что-то я не понял: зачем нужен Convert2Mask для 1-битного изображения, оно и так уже монохромное?
← →
MTsv DN © (2006-11-10 14:58) [24]> что-то я не понял: зачем нужен Convert2Mask для 1-битного изображения, оно и так уже монохромное?
А кто ж Вам скажет... Это avs развлекается так ;) Я только факт констатирую...
Смысл такой:
1. Берем 1-битного изображение, загружаем его в PBitmap.
2. В FormOnPaint пишем:
Bmp.StretchDrawTransparent(DC, Form.ClientRect, clWhite);
В итоге, PAS-версия рисует ТОЛЬКО черный цвет (т.е. то что и требовалось), а ASM-версия картинку...
Если же вместо clWhite, использовать clBlack, то обе версии, правильно исключают ЧЕРНЫЙ ЦВЕТ...
← →
avs © (2006-11-10 18:47) [25]MTsv DNА кто ж Вам скажет... Это avs развлекается так
Разъясняю смысл развлечения: На пустой форме рисуется сетка чернымцветом. Посредством отслеживания координат мыши в Runtime определяю координаты и размер окон ввода и избавляюсь от необходимости грузить проект пояснительным текстом к форме ввода платежки. При этом белый фон
нежелателен. Вот собственно и все.
← →
avs © (2006-11-10 18:51) [26]P.S. А Convert2Mask для 1-битного изображения вызывает Bmp.StretchDrawTransparent без всякого принуждения с моей стороны.
← →
Vladimir Kladov (2006-11-10 19:12) [27]по прозрачности для 1, 4, 8 бит исправил. Не отрисовывалось меню в дизайнере приоткрытии формы/проекта в IDE? Тоже исправил. И кстати авто-удаление кода присвоения обработчика после его очистки тоже. От кэширования пришлось отказаться для главного меню. Но скорость вроде бы не сильно упала, я попробовал на очень большом меню.
← →
avs © (2006-11-11 09:24) [28]Vladimir Kladov Благодарю за помощь.
Теперь о меню. Вновь созданное отрисовывается нормально, а что делать с моим давно созданным и далеко не маленьким, которое глючит?
Есть способ решить это легким движением руки?
И еще один вопрос:
В связи с т.к. тип KOLChar объявлен теперь как не точный эквивалент типа Char (type KOLChar = type Char), то существующие обработчики события OnChar могут становиться несовместимым с новой декларацией ...
Это относится только к обработчикам или нужно поменять Char на KolChar и т.д. в мировом масштабе?
Заранее благодарен, А.Шаталов.
← →
Vladimir Kladov (2006-11-11 12:19) [29]это относится к конкретному обработчику OnChar. Я делаю так. Проект открывается и Delphi начинает ругаться. Я копирую содержимое обработчика, и очищаю его. Если он после этого не удалился сам (он может не удалиться, если есть еще куча подобных несовместимостей, и я в этом случае на вопрос "remove reference?..." отвечаю "нет", потому что "да" все равно не срабатывает, да и легче так. Отвечать приходится на всю кучу нсовместимых обработчиков). Потом (раз он сам не удалился) переключаюсь в вид dfm формы как текста, нахожу нужный OnChar, удаляю строчку руками, возвращаюсь в вид "as Form". Теперь обработчика точно нет, создаю новый, на этот раз тип у него правильный и их клипборда вставляю тот же код. Если это не последний такой обработчик, процедуру приходится повторять. Вчера переделывал большой проект, 40 форм, в каждой по несколько обработчиков, часа полтора ушло. А что делать, прогресс требует жертв.
Еще несовместим теперь обработчик OnLVData. Все то же самое.
Насчет меню я не знаю. Я заметил только что menu bar не отрисовывался при открытии формы. Если что-то еще глючит, поясните точнее.
← →
avs © (2006-11-12 14:51) [30]Vladimir Kladov
> Я заметил только что menu bar не отрисовывался при открытии
> формы. Если что-то еще глючит, поясните точнее.
Большое спасибо за StretchDrawTransparent и разъяснения по поводу onChar. Насчет меню - сейчас установлю 2.42, и сразу же доложу о поведении меню, созданного в старом проекте.
← →
avs © (2006-11-12 15:04) [31]Владимир, снимаю шляпу, а также вопрос по меню.
В версии 2.42 Все работает!
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.037 c