А от чего ж у меня без звёздочки работает?
Или я не с теми командами проверял...

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Интересно. Я точно помню, что у меня этот фокус не прошел. Правда это было много лет назад, может на семерке поведение контрола изменилось. Но, все равно, у меня та же проблема с асинхронностью. Впрочем, если найду время, еще поковыряюсь.MVV писал(а):а у меня сегодня получалось отправлять сообщение для таба за пределами видимости,
Код: Выделить всё
SendMessage(htabs, TCM_GETITEMRECT, ti, (LPARAM)&rc);
LPARAM mlp = MAKELPARAM(rc.left, rc.top);
SendMessage(htabs, WM_RBUTTONDOWN, MK_RBUTTON, mlp);
SendMessage(htabs, WM_RBUTTONUP, 0, mlp);
g_pCheckedItem = &nl;
while (g_pCheckedItem) {
MSG msg;
GetMessage(&msg, hWnd, 0, 0);
myMainWndProc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
}
wchar_t buf[64];
wsprintf(buf, L"Tab %d checked id is %d.", ti, nl);
MessageBox(hWnd, buf, L"TCFS2Tools", 0);
Код: Выделить всё
if (g_pCheckedItem) {
if (uMsg == WM_INITMENUPOPUP) {
HMENU hmenu = (HMENU)wParam;
*g_pCheckedItem = menuGetCheckedItem(hmenu);
g_pCheckedItem = 0;
for (int i = 0, i_end = GetMenuItemCount(hmenu); i < i_end; ++i) RemoveMenu(hmenu, 0, MF_BYPOSITION);
return 0;
}
}
Код: Выделить всё
SendMessage(htabs, WM_RBUTTONDOWN, MK_RBUTTON, mlp);
SendMessage(htabs, WM_RBUTTONUP, 0, mlp);
Код: Выделить всё
SendMessage(hwnd,0x433, 0xBC1, idx);Кстати, любопытство замучило - а почему 9 и 11?MVV писал(а):Так, для простой блокировки получаем значение 9, а для блокировки со сменой каталога - 11.
Очень интересно! Не подумал бы, что внутренние команды могут принимать параметры. Про cm_DirTabsShowMenu я вчера вспоминал, но для только активной вкладки она мало полезна. Но с учётом того, что если lParam = 0, то она работает для текущей вкладки активной панели, а если больше/меньше нуля, то для произвольной, дык это вообще шикарный способ, он даже от асинхронности избавляет, т.е. и цикл сообщений не нужен!VadiMGP писал(а):Вроде есть еще способ.
Код: Выделить всё
T2T.pCheckedItem = &nl;
SendMessage(hWnd, WM_TC_COMMAND, cm_DirTabsShowMenu, is_left ? (ti + 1) : -(ti + 1));
return nl;Это какие-то внутренние идентификаторы пунктов меню, соответствующих полной и неполной блокировке. А почему они равны 9 и 11, Гислер его знает...VadiMGP писал(а):Кстати, любопытство замучило - а почему 9 и 11?
Я только не знаю насколько он обратно совместим с предыдущими версиями и битностями ТС. Я это обнаружил только сейчас в 8.51 - 64 бита.MVV писал(а):Это вообще шикарный способ, он даже от асинхронности избавляет, т.е. и цикл сообщений не нужен!
А, ясно. А я взял просто порядковый номер пункта. Просто из тех соображений, что в будущих версиях ТС у ресурсов больше шанса измениться, чем у внешнего вида меню. Швейцарцы - они такие консервативные. Но, в общем - не суть. И то и то - как повезет.MVV писал(а):идентификаторы пунктов меню
И есть ли возможность две последние команды задействовать без диалога, т.е. с указанием пути к tab-файлу?Переименовать/Заблокировать вкладку (в диалоге)
Копировать вкладку на противоположную панель
Закрыть дубликаты вкладок текущей панели
Сохранить вкладки текущей панели в файл
Сохранить вкладки обеих панелей в файл
Я проверил с TC 7.56a, меню открывается для заданной вкладки.VadiMGP писал(а):Я только не знаю насколько он обратно совместим с предыдущими версиями и битностями ТС. Я это обнаружил только сейчас в 8.51 - 64 бита.
Думаю, это возможно, хотя я пока не вижу, как тотал получает уведомление о щелчке по пункту этого меню. Похоже, тотал получает его как результат вызова TrackPopupMenu, но тогда неизвестно, как повлиять на него.Flasher писал(а):Раз открылись такие перспективы. Вот бы добавить теперь эти команды в Tools:
А это вряд ли. От диалога всё равно не уйти, а экспериментировать с окнопрыгом с постоянно изменяемыми диалогами выбора файлов не хочется ни разу.И есть ли возможность две последние команды задействовать без диалога, т.е. с указанием пути к tab-файлу?
А зачем тебе знать про уведомление? Обычный клик тут не подойдёт?MVV писал(а):Думаю, это возможно, хотя я пока не вижу, как тотал получает уведомление о щелчке по пункту этого меню.
На это я даже не рассчитывал. Просто ты написал про параметры, я было подумал, что возможна подмена диалога.MVV писал(а):а экспериментировать с окнопрыгом с постоянно изменяемыми диалогами выбора файлов не хочется ни разу.