написал приблуду для принятия сообщений, сейчас начну хоты писать...
Ты не понял, не саму консоль показывать, а форму плагина (заголовок кнопки и тд...)Create new console on load
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Я уже говорил об этомОтлов cm_ExecuteDOS кривоват - если при скрытой консоли вызвать команду (у меня подвешена на Ctrl+O), тогда окно TC теряет фокус, но самой консоли не видно. Появлется она только когда жму Ctrl+Win+S, при этом там столько открытых вкладок с консолями, сколько раз я нажал Ctrl+O.
Лениво было писать для каждого текстового поля загрузку текста, поэтому сделал циклом для каждого типа компонент.Зачем делать разные ключи для одинаковых надписей?
Не сразу, но сделаю...Хочу закрывать табы колёсиком. И открывать им же. В общем, полную копию поведения Тотала при работе с вкладками.
Изменение цвета заголовка\сплитера при активации\деактивации подойдёт?Ещё подумал - если сделать так, чтобы при активной консоли и TC был активен, невозможно, нужно тогда сделать какой-то индикатор того, находится ли фокус в консоли. На данный момент, если TC не в фокусе, я не могу определить, в фоусе ли консоль.
Тебе тоже огромное спасибо за тесты, советы и критику...В целом же консолька смотрится куда симпотнее с каждой версией, спасибо.
А вот за это отдельное спасибо.Перевод интерфейса на более-менее нормальный английский сейчас сделаю.
Шелл сейчас качаю, буду разбираться в чём проблема.Power (Monad) shell rc1, TC 7.0 pb3, XP рус. SP2 На вкладке "Шелл" выбираю "Другая", жму кнопку для выбора другого шелла и, собственно, всё. Может просто изменить свойство формы, что бы она не была "всегда сверху" (является таковой для всех запущенных приложений), а диалог выбора фала, по идее, и должен быть модальным.
Хотел, но дюже гемморно это. Таки придёться кодить...Кнопка Apply, по правилам хорошего тона дизайна интерфейсов, должна быть неактивна, если применять нечего, т.е. если в настройках нет изменений. В этом одно из основных предназначений, собсно.
Мне это не нравиться, но изменить ничего не могу, это уже csrss.exe работает, а вмешиваться ещё и в его работу совсем не хочеться.Кстати, это так и задумано, что у консоли внутри плагина можно изменить размер. Т.е. взять мышкой за край и изменить? Практической надобности этому я не вижу, а привести это может к тому, что нижний край консоли окажется за пределами окна плагина, и будет не видна одна-две строчки ввода. По крайней мере у меня получалось так сделать.
По логике плага это единственый правильный выходКонсоль иногда неправильно определяет собственные размеры. Раздвигаем окно до половины окна TC, сдвигаем окно Тотала по вертикали до минимума (до тонкой полоски, раздвигаем - консоль занимает ВСЁ окно Тотала. И
А вот за это я Гислера хотел бы казнить.нтересный эффект при этом наблюдается, если переключиться из окна TC на другое и обратно - иконки панели инструментов отрисоввываются прямо поверх консоли, забавно видеть, как прямо под иконкой мигает текстовый курсор
Стандартная реакцияКрайне забавно обрабатывается нажатие Alt+Enter (переход в полноэкранный режим). =)
А лучше и то и другое. Но доп. команды нужны уже сейчас, плюс такое поведение должно быть дефолтным.Наверное либо сделаю мультикоманды, либо увеличу список команд - ещё не решил.
Дело твоё.Лениво было писать для каждого текстового поля загрузку текста, поэтому сделал циклом для каждого типа компонент.
Более чем. Но учти, что и цвет шрифта надписи TotalConsole должен меняться, дабы быть читаемым на любом фоне.Изменение цвета заголовка\сплитера при активации\деактивации подойдёт?
Ничего геморного. Пишешь одну процедуру, которая делает ApplyBtn.Active:=true; эту процедуру вписываешь в качестве обработчика на OnChange/OnClick для текстовых полей и чекбоксов, для остальных контролов логика такая же. Всё делается в IDE. Ну и само собой, ApplyBtn.Active:=false; при нажатии на саму кнопку.Хотел, но дюже гемморно это. Таки придёться кодить...
Ну и фиг с ним.Мне это не нравиться, но изменить ничего не могу, это уже csrss.exe работает, а вмешиваться ещё и в его работу совсем не хочеться.
И так плаг на одних "хаках" построен, у меня каспёр визжит постоянно... :\
По логике плага это единственый правильный выход . Размеры вычисляються от Top-а консольки.
Логично конечно, но логику надо бы поменять. У тебя есть проверка, чтобы при изменении размера сплиттером, консоль не смогла бы быть "вытянута" вверх за тулбар, вот хотя бы её вставь и при изменении размеров самого Тотала. Чтобы не вылезало куда не надо (если консоль максимизирована через даблклик по сплиттеру, то она никуда не вылезает). Хотя проблему сохранения пропорции консоли надо решать всё-таки как-то иначе, пока не могу придумать, как.А вот за это я Гислера хотел бы казнить.
Как он определяет поверхность для отрисовки???
Прошу прощения, это глюк монитора. У меня тут широкоэкранная плазменная панель, так вот она полноэкранную консоль отображает... гм, ну представьте себе jpg-картинку с впечатанным текстом, растянутую в десять раз.Стандартная реакция А чего ты ожидал?
Хех. Я тут на другой эффект напоролся. Окно консоли - это же натуральное окно. И справа вверху, если присмотреться, виден краешек от стандартных виндовозных кнопочек. Я даже не замечал, пока случайно мышой туда не клюкнул. Оказалось попал на крестик - консоль естественно исчезла. Только я на какое-то время ошалел. Потом дошло.D1P писал(а):а привести это может к тому, что нижний край консоли окажется за пределами окна плагина, и будет не видна одна-две строчки ввода.
Это вряд ли, ТС использует WS_CLIPCHILDREN. А вот дочерние окна могут рисовать одно на другом. Может быть они перекрываются и в этом все дело?B4rr4cuda писал(а):У меня такое чувство будто ТС отрисовывает на главном окне...
Доп команды будут в любом случае, а вот с мулькомандами заморочка- никак не могу додуматься, как их лучше передавать? Сейчас хоткейная библа посылает сообщение с номером команды в WParam и "Хоткей работает в" в LParam. Есть какие нибудь идеи насчёт посылки мультикомманд?А лучше и то и другое. Но доп. команды нужны уже сейчас, плюс такое поведение должно быть дефолтным.
Учту. Поставлю инвертный цвет...цвет шрифта надписи TotalConsole должен меняться, дабы быть читаемым на любом фоне
Именно это геммор я и имел в виду.Ничего геморного. Пишешь одну процедуру, которая делает ApplyBtn.Active:=true; эту процедуру вписываешь в качестве обработчика на OnChange/OnClick для текстовых полей и чекбоксов, для остальных контролов логика такая же. Всё делается в IDE. Ну и само собой, ApplyBtn.Active:=false; при нажатии на саму кнопку.
Я тоже. Наиболее нативным оказался сайз по топу.При ресайзе, по пропорции и по высоте, очень уж некрасиво и непривычно работает ...Логично конечно, но логику надо бы поменять.... Хотя проблему сохранения пропорции консоли надо решать всё-таки как-то иначе, пока не могу придумать, как.
Ок. Добавлю.Посему предлагаю опцию - "Не реагировать на горячие клавиши, если консоль скрыта".
С некоторыми хоткеями вообще беда...некоторые хоткеи не работают Ctrl+Win+O (вместо нового таба, в консоль впечатывается последовательность ^O)
Окно консоли - это же натуральное окно.И справа вверху, если присмотреться, виден краешек от стандартных виндовозных кнопочек. Я даже не замечал, пока случайно мышой туда не клюкнул. Оказалось попал на крестик - консоль естественно исчезла. Только я на какое-то время ошалел. Потом дошло
Да. Когда консолька перекрывает тулбар, тогда над ней и издеваютьсяЭто вряд ли, ТС использует WS_CLIPCHILDREN. А вот дочерние окна могут рисовать одно на другом. Может быть они перекрываются и в этом все дело?
Нет. Буквально на 2 пикселя. Потому-то и не видел раньше.B4rr4cuda писал(а):Сильно у тебя кнопки вылезают?
Ясно, скрою...Буквально на 2 пикселя.
Это стандартное поведение cmd.exe. Используй хоткей "закрыть все", а потом уж альт-Ф4. Пофиксить не могу.1. Если фокус находится в консоли, то Alt+F4 не работает и выйти из коммандера можно только мышой.
Могу вылечить только хуком, но он сильно затормозит Тотал.2. Если окно ТС частично перекрыто другим окном, то клюк мышой по видимой части консоли не вытаскивает окно ТС вперед. Приходится искать другое место в ТС куда ткнуть мышью. Не смертельно, но слегка раздражает.
Закономерность проста - сейчас консолька ресайзируеться по Топу и за единицу3.Что-то странное творится при изменении размера фонта. Когда фокус в консоли нажать Alt+Enter, зайти в свойства консоли и поменять размер фонта. После этого размер окна консоли какой-то непредсказуемый. То оно ресайзируется под ТС то нет. В общем, никакой закономерности я не нашел.
Я это прочёл, нажал Alt+Enter, выбрал "Переместить", переместил и долго смеялся. Так чтоХех. Я тут на другой эффект напоролся. Окно консоли - это же натуральное окно. И справа вверху, если присмотреться, виден краешек от стандартных виндовозных кнопочек. Я даже не замечал, пока случайно мышой туда не клюкнул. Оказалось попал на крестик - консоль естественно исчезла. Только я на какое-то время ошалел. Потом дошло.
тут не поможетЯсно, скрою...