View previous topic :: View next topic |
Author |
Message |
Athari

Joined: 19 Dec 2004 Posts: 81 Location: Казань
|
(Separately) Posted: Tue Jul 17, 2007 16:26 Post subject: |
|
|
Quote: | Если скрывать меню так, то перестают работать гор. клавиши
(заданные в этом меню). |
Обоими способами пробовал? Хм. Не ожидал, что VCL отследит SetMenu…
Ты без TActionList делаешь? Если с ним, то и удобнее будет, и клавиши всегда работать будут. Теоретически.
Quote: | Но так просто этот вызов не сделаешь, у меня же TImage, его надо полностью переписывать? |
Можно процедуру Paint попытаться переопределить… Extctrls.pas в сорцах VCL посмотри, там всего пара строк.
Quote: | Я же загружаю картинки как TImage.Picture.LoadFromFile(),
а оно требует, чтобы расширение соответствовало, там нет опр. по содержимому. |
Там у тебя не так много типов поддерживается, так что вручную голову файла смотреть, по-моему, труда не составит. У BMP первые два байта «BM», у GIF — «GIF», у JPEG — 0xFFD8FFE0 (плюс ещё какие-то, кажется…) ну и так далее. Можно конкретными наследниками TGraphic пользоваться, а потом Assign’ить в TImage->Picture. Способ найти можно.
Quote: | А как я узнаю, что в шрифте есть символы от 1 до 31? |
Листер себя не утруждает проверкой и полностью полагается на API… Но есть минус — получаются квадратики, а не точки, что не всегда удобно.
Ну, опцию можно ввести, чтобы пользователь задавал, какие символы на точки менять.
А как узнать… Посмотри в направлении TEXTMETRIC, там что-то похожее есть.
Quote: | Что с ними делать? |
Сам решай.
Quote: | Потому, что писать свою реализацию просмотра UTF8 было очень лень.
Это ОЧЕНЬ МНОГО возни. |
Где там возня? Тот же самый текстовый, только перед выводом преобразование кодировки. Самая большая неприятность — если в начале отображаемого куска файла середина символа будет, но в случае с UTF8 это не так важно — на ближайшем правильном символе «восстановится». Или я чего-то не понимаю?
Quote: | Quote: | А это происходит только с BMP? | Да. |
А почему? Чем BMP такой особенный?
Quote: | Если через OnKeyDown, то наверное они работать не будут. А если как-то хитро, как FileInfo плагин, то они перекроют мои гор. клавиши. А если у тебя ActiveX, то тоже возможно перекроет мои клавиши... |
KeyDown. Так как сделать, чтобы работали?
FileInfo как делает? _________________ «Today is the first day of the rest of your life» |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Tue Jul 17, 2007 17:14 Post subject: |
|
|
Athari
Quote: | Если скрывать меню так, то перестают работать гор. клавиши
(заданные в этом меню).
Обоими способами пробовал? |
Пока первым, сделал скрытие через Form.Menu:= nil; после этого все клавиши перестали работать.
Quote: | Ты без TActionList делаешь? Если с ним, то и удобнее будет, и клавиши всегда работать будут. Теоретически. |
Да, просто TMainMenu, клавиши в TMenuItem.Shortcut.
Переходить на TActionList только из-за того, что меню будет проще скрывать - не стОит...
Quote: | Можно процедуру Paint попытаться переопределить… Extctrls.pas в сорцах VCL посмотри, там всего пара строк. |
Попробую, спасибо за подсказку! Может, и правда так все просто.
Quote: | Там у тебя не так много типов поддерживается, так что вручную голову файла смотреть, по-моему, труда не составит. |
Нет, как раз составит, там у меня полно типов. Пока если нужно смотреть переименованные картинки - Imagine /SGViewer...
Quote: | Ну, опцию можно ввести, чтобы пользователь задавал, какие символы на точки менять.
А как узнать… Посмотри в направлении TEXTMETRIC, там что-то похожее есть. |
Посмотрю. Если будет способ определить, какие символы "есть" - буду их выводить.
Quote: | Quote: | Потому, что писать свою реализацию просмотра UTF8 было очень лень.
Это ОЧЕНЬ МНОГО возни. |
Где там возня? Тот же самый текстовый, только перед выводом преобразование кодировки. Самая большая неприятность — если в начале отображаемого куска файла середина символа будет, но в случае с UTF8 это не так важно — на ближайшем правильном символе «восстановится». Или я чего-то не понимаю? |
Не понимаешь.
Трудностей реализации. То, что можем попасть в середину символа и надо перейти на начало следующего - это ерунда. Но переходы по символам делать вперед-назад уже сложнее, чем в Юникоде. Очень много переписывать из-за этого.
Quote: | А это происходит только с BMP? Да.
А почему? |
Не знаю
Quote: | KeyDown. Так как сделать, чтобы работали?
FileInfo как делает? |
Не знаю.
Горячие клавиши (их работа в режимах Плагины /Интернет) - это мое слабое место. То не работают (как у тебя), то как в FileInfo. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Athari

Joined: 19 Dec 2004 Posts: 81 Location: Казань
|
(Separately) Posted: Tue Jul 17, 2007 17:40 Post subject: |
|
|
Quote: | Переходить на TActionList только из-за того, что меню будет проще скрывать - не стОит... |
Не только. Ещё чтобы контролы с одним назначением каждый индивидуально не обрабатывать. Вот у тебя пункты меню и кнопки на панели инструментов как сопоставлены?
Quote: | Не знаю.  |
Ну, как вариант, можешь WM_KEYDOWN от своей формы на окно плагина перенаправлять. Когда я BootScreenView «окультурю», работать должно.  _________________ «Today is the first day of the rest of your life» |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Tue Jul 17, 2007 18:06 Post subject: |
|
|
Athari
Quote: | Не только. Ещё чтобы контролы с одним назначением каждый индивидуально не обрабатывать. |
У меня там своя реализция TActionList.
Quote: | Ну, как вариант, можешь WM_KEYDOWN от своей формы на окно плагина перенаправлять. |
А в твоем плаге клавиши работают. Z - работает всегда, I не работает т.к. переопределен у меня, стрелки при большом скрине почти работают (работает только стрелка вверх). _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Athari

Joined: 19 Dec 2004 Posts: 81 Location: Казань
|
(Separately) Posted: Tue Jul 17, 2007 18:11 Post subject: |
|
|
Quote: | Z - работает всегда, I не работает т.к. переопределен у меня, стрелки при большом скрине иногда работают (работает только стрелка вверх). |
Хм… У меня ни под каким соусом работать не хотят…  _________________ «Today is the first day of the rest of your life» |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Tue Jul 17, 2007 18:22 Post subject: |
|
|
Athari
Потому что у тебя не последний билд UV - я там поправлял работу стрелок в плагинах...
Версия Free обновлена на сайте, а Pro еще нет... |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
sergeich

Joined: 25 Apr 2006 Posts: 185 Location: Москва
|
(Separately) Posted: Mon Oct 22, 2007 17:18 Post subject: |
|
|
Спасибо за новую версию. Жаль только, что программа открывается все медленнее и медленнее..  |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Mon Oct 22, 2007 17:52 Post subject: |
|
|
Вообще-то я кое-что оптимизировал (пара dll теперь грузится по мере необходимости)... я не замечаю того, что программа грузится медленнее... |
|
Back to top |
|
 |
DimmY

Joined: 12 Jul 2007 Posts: 45
|
(Separately) Posted: Wed Oct 24, 2007 16:21 Post subject: |
|
|
Кажется, обнаружил ошибку, проявляющуюся при просмотре PHP-файлов. Подробности отправил по мылу на support. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Wed Oct 24, 2007 21:01 Post subject: |
|
|
DimmY
Подтверждаю. Но "ошибка" редкая, повт. только при выполнении специфических javascript-ов... |
|
Back to top |
|
 |
test1024
Joined: 09 Nov 2006 Posts: 76
|
(Separately) Posted: Sun Oct 28, 2007 10:57 Post subject: |
|
|
sergeich wrote: | Спасибо за новую версию. Жаль только, что программа открывается все медленнее и медленнее..  |
Конечно, ведь автор сжал её какой-то дрянью, видимо ASProtect.
Любая сжатая программа грузится медленнее, чем несжатая. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Oct 28, 2007 13:44 Post subject: |
|
|
Quote: | Конечно, ведь автор сжал её какой-то дрянью, видимо ASProtect.
Любая сжатая программа грузится медленнее, чем несжатая. |
Пришлось сжать, но это только Pro-версию.
Я тут подумываю, не выпустить ли Light-версию, в которой не будет Юникода, тулбара, языковых файлов и т.д. Она бы грузилась мгновенно. Но Юникод отрывать как-то не очень хочется. _________________ UniViewer - CudaText - LogViewer
Last edited by Alextp on Sun Oct 28, 2007 18:12; edited 1 time in total |
|
Back to top |
|
 |
sergeich

Joined: 25 Apr 2006 Posts: 185 Location: Москва
|
(Separately) Posted: Sun Oct 28, 2007 18:02 Post subject: |
|
|
Quote: | Я тут подумываю, не выпустить ли Light-версию, в которой не будет Юникода, тулбара, языковых файлов и т.д. Она бы грузилась мгновенно. Но Юникод отрывать как-то не очень хочется. |
Отличная идея, можно попробовать отключить функции, которые особенно тормозят программу. Но тулбар, мне кажется, лучше оставить.. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|