Страница 21 из 52

Добавлено: Вт июл 17, 2007 16:26
Athari
Если скрывать меню так, то перестают работать гор. клавиши
(заданные в этом меню).
Обоими способами пробовал? Хм. Не ожидал, что VCL отследит SetMenu…

Ты без TActionList делаешь? Если с ним, то и удобнее будет, и клавиши всегда работать будут. Теоретически. :)
Но так просто этот вызов не сделаешь, у меня же TImage, его надо полностью переписывать?
Можно процедуру Paint попытаться переопределить… Extctrls.pas в сорцах VCL посмотри, там всего пара строк.
Я же загружаю картинки как TImage.Picture.LoadFromFile(),
а оно требует, чтобы расширение соответствовало, там нет опр. по содержимому.
Там у тебя не так много типов поддерживается, так что вручную голову файла смотреть, по-моему, труда не составит. У BMP первые два байта «BM», у GIF — «GIF», у JPEG — 0xFFD8FFE0 (плюс ещё какие-то, кажется…) ну и так далее. Можно конкретными наследниками TGraphic пользоваться, а потом Assign’ить в TImage->Picture. Способ найти можно.
А как я узнаю, что в шрифте есть символы от 1 до 31?
Листер себя не утруждает проверкой и полностью полагается на API… Но есть минус — получаются квадратики, а не точки, что не всегда удобно.

Ну, опцию можно ввести, чтобы пользователь задавал, какие символы на точки менять.

А как узнать… Посмотри в направлении TEXTMETRIC, там что-то похожее есть.
Что с ними делать?
Сам решай. :)
Потому, что писать свою реализацию просмотра UTF8 было очень лень.
Это ОЧЕНЬ МНОГО возни.
Где там возня? Тот же самый текстовый, только перед выводом преобразование кодировки. Самая большая неприятность — если в начале отображаемого куска файла середина символа будет, но в случае с UTF8 это не так важно — на ближайшем правильном символе «восстановится». Или я чего-то не понимаю?
А это происходит только с BMP?
Да.
А почему? Чем BMP такой особенный? :)
Если через OnKeyDown, то наверное они работать не будут. А если как-то хитро, как FileInfo плагин, то они перекроют мои гор. клавиши. А если у тебя ActiveX, то тоже возможно перекроет мои клавиши...
KeyDown. Так как сделать, чтобы работали?

FileInfo как делает?

Добавлено: Вт июл 17, 2007 17:14
Alextp
Athari
Если скрывать меню так, то перестают работать гор. клавиши
(заданные в этом меню).
Обоими способами пробовал?
Пока первым, сделал скрытие через Form.Menu:= nil; после этого все клавиши перестали работать.
Ты без TActionList делаешь? Если с ним, то и удобнее будет, и клавиши всегда работать будут. Теоретически.
Да, просто TMainMenu, клавиши в TMenuItem.Shortcut.
Переходить на TActionList только из-за того, что меню будет проще скрывать - не стОит...
Можно процедуру Paint попытаться переопределить… Extctrls.pas в сорцах VCL посмотри, там всего пара строк.
Попробую, спасибо за подсказку! Может, и правда так все просто.
Там у тебя не так много типов поддерживается, так что вручную голову файла смотреть, по-моему, труда не составит.
Нет, как раз составит, там у меня полно типов. Пока если нужно смотреть переименованные картинки - Imagine /SGViewer...
Ну, опцию можно ввести, чтобы пользователь задавал, какие символы на точки менять.
А как узнать… Посмотри в направлении TEXTMETRIC, там что-то похожее есть.
Посмотрю. Если будет способ определить, какие символы "есть" - буду их выводить.
Потому, что писать свою реализацию просмотра UTF8 было очень лень.
Это ОЧЕНЬ МНОГО возни.
Где там возня? Тот же самый текстовый, только перед выводом преобразование кодировки. Самая большая неприятность — если в начале отображаемого куска файла середина символа будет, но в случае с UTF8 это не так важно — на ближайшем правильном символе «восстановится». Или я чего-то не понимаю?
Не понимаешь. :)
Трудностей реализации. То, что можем попасть в середину символа и надо перейти на начало следующего - это ерунда. Но переходы по символам делать вперед-назад уже сложнее, чем в Юникоде. Очень много переписывать из-за этого.
А это происходит только с BMP? Да.
А почему?
Не знаю
KeyDown. Так как сделать, чтобы работали?
FileInfo как делает?
Не знаю. :)
Горячие клавиши (их работа в режимах Плагины /Интернет) - это мое слабое место. То не работают (как у тебя), то как в FileInfo.

Добавлено: Вт июл 17, 2007 17:40
Athari
Переходить на TActionList только из-за того, что меню будет проще скрывать - не стОит...
Не только. Ещё чтобы контролы с одним назначением каждый индивидуально не обрабатывать. Вот у тебя пункты меню и кнопки на панели инструментов как сопоставлены?
Не знаю. :)
Ну, как вариант, можешь WM_KEYDOWN от своей формы на окно плагина перенаправлять. Когда я BootScreenView «окультурю», работать должно. ;)

Добавлено: Вт июл 17, 2007 18:06
Alextp
Athari
Не только. Ещё чтобы контролы с одним назначением каждый индивидуально не обрабатывать.
У меня там своя реализция TActionList. :)
Ну, как вариант, можешь WM_KEYDOWN от своей формы на окно плагина перенаправлять.
А в твоем плаге клавиши работают. Z - работает всегда, I не работает т.к. переопределен у меня, стрелки при большом скрине почти работают (работает только стрелка вверх).

Добавлено: Вт июл 17, 2007 18:11
Athari
Z - работает всегда, I не работает т.к. переопределен у меня, стрелки при большом скрине иногда работают (работает только стрелка вверх).
Хм… У меня ни под каким соусом работать не хотят… :?

Добавлено: Вт июл 17, 2007 18:22
Alextp
Athari
Потому что у тебя не последний билд UV - я там поправлял работу стрелок в плагинах...
Версия Free обновлена на сайте, а Pro еще нет...

Добавлено: Пн окт 22, 2007 12:39
Alextp
Версия 2.6.0.

Добавлено: Пн окт 22, 2007 17:18
sergeich
Спасибо за новую версию. Жаль только, что программа открывается все медленнее и медленнее.. :-(

Добавлено: Пн окт 22, 2007 17:52
Alextp
Вообще-то я кое-что оптимизировал (пара dll теперь грузится по мере необходимости)... я не замечаю того, что программа грузится медленнее...

Добавлено: Ср окт 24, 2007 16:21
DimmY
Кажется, обнаружил ошибку, проявляющуюся при просмотре PHP-файлов. Подробности отправил по мылу на support.

Добавлено: Ср окт 24, 2007 21:01
Alextp
DimmY
Подтверждаю. Но "ошибка" редкая, повт. только при выполнении специфических javascript-ов...

Добавлено: Вс окт 28, 2007 09:57
test1024
sergeich писал(а):Спасибо за новую версию. Жаль только, что программа открывается все медленнее и медленнее.. :-(
Конечно, ведь автор сжал её какой-то дрянью, видимо ASProtect.
Любая сжатая программа грузится медленнее, чем несжатая.

Добавлено: Вс окт 28, 2007 12:44
Alextp
Конечно, ведь автор сжал её какой-то дрянью, видимо ASProtect.
Любая сжатая программа грузится медленнее, чем несжатая.
Пришлось сжать, но это только Pro-версию.

Я тут подумываю, не выпустить ли Light-версию, в которой не будет Юникода, тулбара, языковых файлов и т.д. Она бы грузилась мгновенно. Но Юникод отрывать как-то не очень хочется.

Добавлено: Вс окт 28, 2007 17:02
sergeich
Я тут подумываю, не выпустить ли Light-версию, в которой не будет Юникода, тулбара, языковых файлов и т.д. Она бы грузилась мгновенно. Но Юникод отрывать как-то не очень хочется.
Отличная идея, можно попробовать отключить функции, которые особенно тормозят программу. Но тулбар, мне кажется, лучше оставить..

Добавлено: Пт дек 07, 2007 07:31
Alextp
Отключил Tnt Unicode Lib, совсем для другого, правда (надо было локализовать один Access Violation): а оказалось, что вьюер стал загружаться быстрее.

Выкладываю "ANSI build":
http://atorg.net.ru/temp/beta/Universal ... e.ANSI.zip