Переключить фокус на окно программы | |
---|---|
Saratoga Автор Сообщений: 494 Дата регистрации: 02.02.2004 |
Уважаемые форумчане!
Есть ли в VFP функция, позволяющая принудительно переключить фокус с окна другой программы на окно программы VFP? Пока пользуюсь таким способом. _screen.alwaysontop=.t. _screen.alwaysontop=.f. Окно программы VFP при этом переходит на передний план, но не сам фокус, к сожалению - приходиться дополнительно кликать мышкой... Исправлено 1 раз(а). Последнее : Saratoga, 23.04.24 05:01 |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
См. ShowWindow() / ShowWindowAsync()
------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
Каратаев Сообщений: 4013 Откуда: Алматы Дата регистрации: 04.12.2001 |
Почему-то так срабатывает не всегда. В моём случае, в одной из программ, перед запуском основного окна программы (а это форма As-Top_Level), запускается окно идентификации пользователя. А перед этим идёт запуск проверки обновления программы.. И вот форму идентификации пользователя никак не получается сделать активной. Только если отключить проверку обновления, тогда всё нормально. Но это не вариант.
Пришлось выкручиваться корявой заплаткой, но она работает.
------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Нормальное решение. Поместить в метод глобального класса с параметром - и забыть.
------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
kornienko_ru Сообщений: 320 Откуда: Владивосток Дата регистрации: 06.09.2015 |
Я что-то подобное здесь уже публиковал forum.foxclub.ru. Тоже в свое время немного "поразбирался" с такой проблемой. Там есть такой вариант из 2-х, который закомментирован:
То что не всегда срабатывает, вероятно результат того, какая из программ последняя активирует окно. Попробуйте в свой код вставить небольшую задержку, чтобы ваша активация фокуса была последней. Исправлено 1 раз(а). Последнее : kornienko_ru, 29.04.24 13:54 |
Re: Переключить фокус на окно программы | |
---|---|
Каратаев Сообщений: 4013 Откуда: Алматы Дата регистрации: 04.12.2001 |
Манипуляции с задержкой ни к чему не привели, кроме того, что форма стала появляться позже... Задержку доводил аж до 4-х секунд.
Зато по ходу экспериментов возникло другое решение: манипуляция с WindowState. Работает и форма не дёргается из-за SendKeys...
------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Надо воспроизвести на работе. Пока есть время - поковыряю. Обычно приемлемое решение находил.
------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
AndyNigmatec Сообщений: 1635 Откуда: Волгоград Дата регистрации: 28.06.2015 |
у меня приложуха AsTopLevelForm, и перед открытием главного окна окошко запроса логин-пароля ... счас глянул как делал когда-то что поверх было:
(поскипал лишнее и ненужное в обсуждаемом контексте) ежели прога уже открыта - то просто показываю главное окно ежели нет, то вызываю форму логин-пароля (она как класс описана) логин-пароль норм, запуск главной тож оформленной как класс почему формы как классы делал - удобно управлять ими было ... кстати такое решение когда-то было взято с нашего форума ))) пара функций запуска/обращения к методам=свойствам сам класс хранящий список форм, создается в начале запуска проги все это конечно древнее и не оптимально написанное, но работает более десятка лет уже как ))) |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Цитата: Запрещаю (код я приводил на мьютексе, еще с Равилем спорили, что в териналке пашет или нет. Володя Максимов все ПОТОМ ответил) открытие второго экземпляра программы. Не знаю проблем, какое окно показывать, какое - нет. Польтзователь мой не работает как в 1С - где захотел, там и вводит данные. Там можно, там другие идеологии. Открыл окно - или внес, или закрой раз ошибся, бздишь, или потом. Другие режимы ни к чему, от этого блажь и тревога. Спокойно заполнили одну форму - перешли к другой. Все молодцы, разработчики одобряют. Управление окнами мне хватает на уровне фокса. Балуете вы пользователя, они потом сами не знают сколько окон открыли и чего хотят. ------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Код сохраню. Андрей, респект.
------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
of63 Сообщений: 25638 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Пива так предлагал - свернуть, а потом развернуть! |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Цитата: На Фоксе и грид порой надо дернуть типа GO RECNO() - с точки здравого смысла бесполезное телодвижение, остались на той же строке по источнику... но нет же. Объекты GUI отработали корректно. ------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
of63 Сообщений: 25638 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
.......................
Исправлено 1 раз(а). Последнее : Joys, 08.05.24 07:26 |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Тему я создал в Курилке. Олег, пройди туда. Я к тебе всегда с уважением... ------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
of63 Сообщений: 25638 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Да, есть такое, когда меняешь фильтр, RELATION, да, это наша юзероская непониманшка их модели, надо сделаьб телодвижение, чтобы фильтр, релейшен, сработал... ну, надо "понимать" средство, оно написано людьми, а не ИИ У меня обычно за фильтром и релейшеном следует SCAN? gj'njve yt yfhsdfkcz (lfdyj gjyzk bly. ajrcf) не буду переводить ) Исправлено 1 раз(а). Последнее : of63, 07.05.24 23:02 |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Цитата: Задачу упрости и сюда выложи. Коллеги меня поддержат - зачем тебе скан? Нарисуй задачу, с условными данными. Мы с коллегами тебе ее точно попроще подскажем, ты, я заметил, нередко слишком через терни к звездам. С тебя репро-код. P.S. Прошла болезнь, когда норовили писать 0 репо-код. Репро - (репродукция, к примеру) - восстановление, но есть финансовый термин РЕПО - сделка с обязательствами, чтобы потом выкупить... Пусть переврал. А цель не в этом, а скорее обратить внимание. Репо- и репро- - две ОГРОМНЫЕ разницы, с точки зрения словообразования. Пять было по литературе. Но увы, тоже не все знаю, коллеги. Летом! Решено - иду проверять себя и писать диктант. Страшно. Медалист школы. А теперь я никто... ? Вы так же считаете? ------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
of63 Сообщений: 25638 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Конечно, мы тебя считаем как ты сказал, и себя также, но об этом скромно умалчиваем )
|
Re: Переключить фокус на окно программы | |
---|---|
ssa Сообщений: 13056 Откуда: Москва Дата регистрации: 23.03.2005 |
В современном ИТ-шном сленге РЕПО есть сокращение от слова РЕПОЗИТОРИЙ. ------------------ Лень - это неосознанная мудрость. |
Re: Переключить фокус на окно программы | |
---|---|
sphinx Сообщений: 31624 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Зачем вводить новые термины/аббревиатуры, к тому же имеющие более 1 значения, если есть устоявшийся термин?
------------------ "Veni, vidi, vici!"(с) |
Re: Переключить фокус на окно программы | |
---|---|
ssa Сообщений: 13056 Откуда: Москва Дата регистрации: 23.03.2005 |
ИТ-шники плохо знают терминологию фиников и изобретают свою не глядя на чьи-то там устоявшиеся термины. Так же как "мать", "мозги", "дрова" и т.д. Ты же не возмущаешься созданием этих терминов, хотя этим терминам не одна сотня лет? ------------------ Лень - это неосознанная мудрость. |
© 2000-2024 Fox Club  |