WCMENU

Форум о самом популярном файловом менеджере Total Commander

Сообщение TRicK [BZ] » Вт апр 29, 2003 10:24 am

кулл) маленькие значки уже пашут) замечен такой глюк - если в тотале открыт какой то архив, то при вызове меню тотал пишет - эта функция не работает в архивах)
TRicK [BZ]
Капитан
 
Сообщений: 265
Зарегистрирован: Чт дек 05, 2002 2:09 pm
Откуда: Одесса
Пункты репутации: 0

Сообщение VadiMGP » Вт апр 29, 2003 11:14 am

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->замечен такой глюк - если в тотале открыт какой то архив, то при вызове меню тотал пишет - эта функция не работает в архивах)<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Заметь, тотал пишет <!--emo&:)-->Изображение<!--endemo-->. Я тут ни при чем. Это он всегда так пишет, когда запускаешь программу с параметрами при открытом архиве.
Последний раз редактировалось VadiMGP Чт май 08, 2003 3:40 pm, всего редактировалось 1 раз.
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Сообщение Валико » Вт май 06, 2003 10:44 pm

2VadiMGP
Полезный плагин, спасибо!
Замеченные баги в версии 1.0.0.5:
1) Разделители в меню рисуются как пустые строки вместо тонких линий.
2) Символы табуляции не получается вставить в названия команд меню. Пробовал и непосредственно Tab вводить, и "\t" - ни в какую.
3) Попробовал поместить WCMenu в папку "TotalCmd\Tools" (я не люблю мешанины в папке TotalCmd <!--emo&:)-->Изображение<!--endemo-->). В результате в меню пропали иконки (они были заданы как "wcmicons.dll,5", т.е. без пути), и внутренние TC комманды перестали работать (наверное, потому, что "TotalCmd.inc" не находится). Тогда я попробовал в кнопке WCMenu задать start path на каталог TotalCmd. Это решило проблему с иконками, но не с внутренними командами TC. Можешь это как-то исправить? <!--emo&:)-->Изображение<!--endemo--> Можно брать install path из реестра (параметр "InstallDir" в "Software\Ghisler\Total Commander" в HKCU или HKLM) и искать TotalCmd.inc там.
4) Очепятка "parameners" -> "parameters" в readme.txt.
5) WCMenu появляется под курсором мыши по центру. Но если WCMenu кнопка расположена достаточно близко к правому краю экрана, то меню появляется где-то слева, слишком далеко от курсора. Это известный баг функции TrackPopupMenu (по крайней мере под NT4) с флагом TPM_CENTERALIGN.
Я нашёл workaround для этого: используй TrackPopupMenuEx вместо TrackPopupMenu примерно таким способом (на C):
Код: выделить все
TPMPARAMS params;
params.cbSize = sizeof(TPMPARAMS);
params.rcExclude.left = 0;
params.rcExclude.top = 0;
params.rcExclude.bottom = 1;
params.rcExclude.right = 10000; /* тут достаточно ширины экрана, но
большее число позволяет избежать вызова GetSystemMetrics.
Хотя я не тестировал, что будет на двух-дисплейных системах... */
TrackPopupMenuEx(hMenu, TPM_CENTERALIGN | TPM_RIGHTBUTTON, x, y, hWnd, ¶ms);
Я это тестировал на WinNT4 SP6a.
Валико
Капитан
 
Сообщений: 267
Зарегистрирован: Вт авг 27, 2002 12:18 pm
Откуда: Киев
Пункты репутации: 0

Сообщение VadiMGP » Ср май 07, 2003 11:35 am

2Валико
1) У меня вставляется сепаратор, если в .bar файле соответствующая строка (cmd<x>) не содержит никакой команды либо отсутствует. Проверь, пожалуйста. Если проблема не в этом, то вышли мне свой .bar файл.
2) А какой смысл в знаках табуляции? Акселераторы? Так они пока не поддерживаются, потому что в ТС их задать нельзя, а я же использую стандартный ТСшный файл и вроде как не следует его курочить.<!--emo&;)-->Изображение<!--endemo--> Черт его знает, что завтра Гислер там сделает. Если же ты имел в виду что-то другое - объясни подробнее.
3) Ну к иконкам, конечно полный путь надо. А то где же их искать-то? А насчет команд - это поправимо. <!--emo&:)-->Изображение<!--endemo--> Просто, у меня была надежда, что такая штука будет в ТС встроена, но, поскольку последовало предложение "доработать и выложить у него на сайте", значит надежда померла и "доработаем". И параметр для маленьких иконок выкину к чертям собачьим. Он мне душу холодит. Буду брать установки для иконок из .ini файла. Подожди, немного.
4) Это тяжело будет исправить! <!--emo&:D-->Изображение<!--endemo-->
5) Тут вся проблема в том, что у меня отдал богу душу комп с NT и проверить негде. Я сделал, конечно. На ХР и 2000 вроде разницы не видно. Так что проверь у себя, пожалуйста и скажи как оно. Возьми тут
<a href='ftp://mgppublic:public@mgpsoft.com/wcmenu16.zip' target='_blank'>ftp://mgppublic:public@mgpsoft.com/wcmenu16.zip</a>
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Сообщение zxc123 » Чт май 08, 2003 3:21 am

VadiMGP
Неплохо бы в readme.txt историю писать, интересно же что изменилось в очередной версии. ;-)
zxc123
Лейтенант
 
Сообщений: 103
Зарегистрирован: Сб ноя 16, 2002 3:58 am
Пункты репутации: 0

Сообщение Валико » Вс июн 01, 2003 12:32 pm

2VadiMGP
1) Выслал в ЛС (email не знаю). Пробовал и buttonNN= и cmdNN= - всё равно пустые строки вместо линий.
2) Ну смыслы разные можно придумать. Я просто хочу, чтобы у стандартных команд справа аккселераторы отображались. Я их и так помню, но из эстетических соображений... <!--emo&:)-->Изображение<!--endemo-->
3) Спасибо. Жду.
4) Могу помочь <!--emo&:D-->Изображение<!--endemo-->
5) Версия 1.7 работает правильно! Можно почувствовать разницу: кликаешь левой кнопкой - твоё меню отображается справа впритык к краю экрана, а кликаешь правой - контекстное меню ТС отображается чёрте-где (т.к. Гислер не воспользовался моим workaround'ом - я ему тоже посылал). Опять же - всё это под NT4, про другие ОС ничего не скажу.
Валико
Капитан
 
Сообщений: 267
Зарегистрирован: Вт авг 27, 2002 12:18 pm
Откуда: Киев
Пункты репутации: 0

Сообщение Bos-s » Вс июн 01, 2003 1:58 pm

С версии 1.7 WCMENU теперь называется <a href='http://members.lycos.co.uk/maxwish/tc_tools/tcmenu.zip' target='_blank'>TCMENU</a>
Bos-s
Ст. сержант
 
Сообщений: 42
Зарегистрирован: Сб авг 31, 2002 2:49 pm
Откуда: Pavlograd, Ukraine
Пункты репутации: 0

Сообщение VadiMGP » Вс июн 01, 2003 7:38 pm

2Валико
Ух ты! Я уже и ждать перестал. Думал, что разочаровался человек в моей чудной программке и выкинул нафиг.

1. По поводу акселераторов. Или одно из двух, или кто-то из нас чего-то не понимает. <!--emo&:o-->Изображение<!--endemo--> TCmenu это не TC. Это другая программа. Как я могу знать все его акселераторы?
2. А с файлом ничего не получилось. В том смысле, что у меня все показывает нормально. А ты на других машинах не пробовал? А то полная ерунда какая-то, ты единственный кто на это пожаловался. Прямо совсем идей нету. <!--emo&:(-->Изображение<!--endemo-->
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Сообщение Валико » Вт июн 03, 2003 1:34 am

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Ух ты! Я уже и ждать перестал. Думал, что разочаровался человек в моей чудной программке и выкинул нафиг.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Да нет, просто весна была...

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->1. По поводу акселераторов. Или одно из двух, или кто-то из нас чего-то не понимает.  <!--emo&:o-->Изображение<!--endemo-->  TCmenu это не TC. Это другая программа. Как я могу знать все его акселераторы?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Да зачем тебе их знать?! Я их уже написал - посмотри ещё раз то, что я тебе послал (строки menuNN=). Ты их читаешь из файла, но символы табуляции чё-то вовсе не табулируют... <!--emo&:)-->Изображение<!--endemo-->

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> 2. А с файлом ничего не получилось. В том смысле, что у меня все показывает нормально. А ты на других машинах не пробовал? А то полная ерунда какая-то, ты единственный кто на это пожаловался. Прямо совсем идей нету. <!--emo&:(-->Изображение<!--endemo--><!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Попробую, но не знаю когда... Есть у меня Win2000, но временно сдохла (я доэкспериментировался), никак руки не доходят оживить.
Однако очень странно... Можешь мне в ЛС бросить как ты separator в меню добавляешь? Мож я теоретически догадаюсь, где собака порылась. Если, конечно не секрет.
Валико
Капитан
 
Сообщений: 267
Зарегистрирован: Вт авг 27, 2002 12:18 pm
Откуда: Киев
Пункты репутации: 0

Сообщение VadiMGP » Вт июн 03, 2003 8:10 am

<!--QuoteBegin--Валико+Jun 3 2003, 03:34--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Валико @ Jun 3 2003, 03:34)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Да зачем тебе их знать?! Я их уже написал - посмотри ещё раз то, что я тебе послал (строки menuNN=). Ты их читаешь из файла, но символы табуляции чё-то вовсе не табулируют... <!--emo&:)-->Изображение<!--endemo--><!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Да нарисовать-то можно, только я не об этом. Ты понимаешь, даже если в меню и написано, например, Ctrl-F, то этого еще мало чтобы Ctrl-F действительно заработал? А это означает, что пока меню висит на экране (т.е. пока работает tcmenu), никакие ТСшные акселераторы работать не будут.

А с сепаратором я, кажется, допер. Детсадовский баг. Позор на мою седую голову.
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Сообщение Валико » Вт июн 03, 2003 1:29 pm

<!--QuoteBegin--VadiMGP+Jun 3 2003, 11:10--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (VadiMGP @ Jun 3 2003, 11:10)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Да нарисовать-то можно, только я не об этом. Ты понимаешь, даже если в меню и написано, например, Ctrl-F, то этого еще мало чтобы Ctrl-F действительно заработал? А это означает, что пока меню висит на экране (т.е. пока работает tcmenu), никакие ТСшные акселераторы работать не будут.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Я всё это понимаю, сам программист <!--emo&:)-->Изображение<!--endemo-->. Единственное что мне надо - это чтобы я как-то мог вставлять символы табуляции (как я говорил раньше - чиста патамуша я эстет... <!--emo&:)-->Изображение<!--endemo-->). Либо непосредсвенно символ табуляции (код 0x09, кажется), либо "\t", либо "\t", либо "\\\\\\\\t". Как угодно. Скорее всего у тебя где-то баг или ты делаешь какую-то предварительную обработку строк, т.к. "\t" должно работать. По крайней мере у меня AppendMenu(hMenu, MFT_STRING, id, "Bob\tCtrl+B") работает, хотя я не знаю как именно ты создаёшь меню.

<!--QuoteBegin--VadiMGP+Jun 3 2003, 11:10--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (VadiMGP @ Jun 3 2003, 11:10)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->А с сепаратором я, кажется, допер.  Детсадовский баг. Позор на мою седую голову.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->А чё ж у тебя раньше работало?
Последний раз редактировалось Валико Вт июн 03, 2003 1:57 pm, всего редактировалось 1 раз.
Валико
Капитан
 
Сообщений: 267
Зарегистрирован: Вт авг 27, 2002 12:18 pm
Откуда: Киев
Пункты репутации: 0

Сообщение VadiMGP » Вт июн 03, 2003 4:54 pm

<!--QuoteBegin--Валико+Jun 3 2003, 15:29--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Валико @ Jun 3 2003, 15:29)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Я всё это понимаю, сам программист <!--emo&:)-->Изображение<!--endemo-->. Единственное что мне надо - это чтобы я как-то мог вставлять символы табуляции (как я говорил раньше - чиста патамуша я эстет... <!--emo&:)-->Изображение<!--endemo-->).
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

Мне для эстетов ничего не жалко, а для эстетов-программистов - тем более. <!--emo&:)-->Изображение<!--endemo-->
Но у меня AppendMenu(hMenu, MF_OWNERDRAW, id, "Bob\tCtrl+B")!
Значит текст кто рисует? Правильно - DrawText. Я не углублялся в TabbedTextOut, ExtTextOut и т.д., но на первый взгляд все они одинаковы и такой возможности не дают. Если знаешь как это отрисовать, скажи - я вставлю.

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->А чё ж у тебя раньше работало?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Так это же только для NT. И пока еще не проверено.
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Сообщение VadiMGP » Ср июн 04, 2003 4:59 pm

2Валико
Я надеюсь, что сепараторы теперь у тебя будут. Ну и падла этот NT! Я просто не прочитал ма-а-аленькое примечание на MSDN, что GetMenuItemInfo на NT не возвращает флаги.
Проверяй. <a href='ftp://mgppublic:public@mgpsoft.com/tcmenu19.zip' target='_blank'>ftp://mgppublic:public@mgpsoft.com/tcmenu19.zip</a>

И вообще, переходи на ХР. <!--emo&:)-->Изображение<!--endemo-->
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Сообщение Валико » Ср июн 11, 2003 7:42 am

<!--QuoteBegin--VadiMGP+Jun 3 2003, 19:54--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (VadiMGP @ Jun 3 2003, 19:54)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Мне для эстетов ничего не жалко, а для эстетов-программистов - тем более. <!--emo&:)-->Изображение<!--endemo--><!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Это приятно <!--emo&:)-->Изображение<!--endemo-->

<!--QuoteBegin--VadiMGP+Jun 3 2003, 19:54--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (VadiMGP @ Jun 3 2003, 19:54)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Но у меня AppendMenu(hMenu, MF_OWNERDRAW, id, "Bob\tCtrl+B")!
Значит текст кто рисует? Правильно - DrawText. Я не углублялся в TabbedTextOut, ExtTextOut и т.д., но на первый взгляд все они одинаковы и такой возможности не дают.  Если знаешь как это отрисовать, скажи - я вставлю.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Я бы использовал ExtTextOut (хотя это не важно), т.к. она затирает всю не занятую буквами область меню-айтема цветом фона (если флаг ETO_OPAQUE задать), и рисовал бы каждый item в два приёма - первый раз рисуем часть до знака табуляции, второй раз - то, что после него. При чтении bar-файла надо посчитать макс. длину обех частей для всех items в меню (при помощи GetTextExtentPoint32).

А сепараторы ща пашут. Спасибо!

<!--QuoteBegin--VadiMGP+Jun 4 2003, 19:59--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (VadiMGP @ Jun 4 2003, 19:59)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Ну и падла этот NT!<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Он такой...

<!--QuoteBegin--VadiMGP+Jun 4 2003, 19:59--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (VadiMGP @ Jun 4 2003, 19:59)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->И вообще, переходи на ХР.  <!--emo&:)-->Изображение<!--endemo--><!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->Дома тачка слабовата (Celeron 600 128 MB) и лень всё перенастраивать, инсталлировать. Жуть. Пока не припрёт не буду. <!--emo&:)-->Изображение<!--endemo-->
Последний раз редактировалось Валико Ср июн 11, 2003 7:47 am, всего редактировалось 1 раз.
Валико
Капитан
 
Сообщений: 267
Зарегистрирован: Вт авг 27, 2002 12:18 pm
Откуда: Киев
Пункты репутации: 0

Сообщение VadiMGP » Чт июн 12, 2003 5:43 am

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Дома тачка слабовата (Celeron 600 128 MB) и лень всё перенастраивать, инсталлировать. Жуть. Пока не припрёт не буду.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Вообще-то, и 2000 и ХР не требуют от тачки больше, чем NT. ХР даже менее требовательный, хотя чуть-чуть более глюкавый, чем 2000. И давай считать, что приперло, а? <!--emo&:D-->Изображение<!--endemo-->
Человеческая жизнь похожа на коробку спичек. Обращаться с ней серьезно - смешно. Обращаться несерьезно - опасно.
А. Рюноскэ
VadiMGP
Подполковник
 
Сообщений: 887
Зарегистрирован: Сб апр 26, 2003 10:32 am
Пункты репутации: 0

Пред.След.

Вернуться в Total Commander

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron