powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сэмулировать нажатие "Свернуть окно"
9 сообщений из 9, страница 1 из 1
Как сэмулировать нажатие "Свернуть окно"
    #33486371
sanya_tir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого я использую thisform.windowstate = 1, однако иногда при этом возникает ошибка "API CALL...." из-за того что у меня используется внешняя bbsystray.fll, а на методе hide вызывается AddSysTrayIcon(). Но тем не менее при использовании стандартной кнопки "свернуть окно" такая ошибка никогда не появлялась. Поэтому я думаю, что неправильно эмулирую свертывание окна. Подскажите как это правильно сделать?
Спасибо.
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33486673
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как я понял thisform.windowstate вы вызываете из fll-ки
а такое обращение к окну "thisform" возможно только из самой формы
надо как то по другому обращаться к форме из вне.
например form1.windowstate=1 или по дискриптору формы.
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33486814
sanya_tir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S866как я понял thisform.windowstate вы вызываете из fll-ки


нет, не так. У меня просто кнопка на форме "Свернуть".... в ней и пишу thisform.windowstate=1. Срабатывает эквивалентно виндовой кнопки "свернуть", но вот иногда выдает ошибку. При использовании виндовой кнопки "свернуть" ошибка никогда не возникает.
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33487036
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда вроде бы все правильно делаете - может фокс запорчен? попробуйте переустановить.
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33487268
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanya_tir S866как я понял thisform.windowstate вы вызываете из fll-ки


нет, не так. У меня просто кнопка на форме "Свернуть".... в ней и пишу thisform.windowstate=1. Срабатывает эквивалентно виндовой кнопки "свернуть", но вот иногда выдает ошибку. При использовании виндовой кнопки "свернуть" ошибка никогда не возникает.
Надо наверно попробовать найти какую-то закономерность - когда именно выскакивает ошибка. Через дебаггер последить, что срабатывает и что меняется, возможно в это время иногда что-то подвешено или наоборот не установлено, что косвенно цепляет вызов FLL, но как-то неординарно, из-за чего и лезет ошибка.
Попробуй поотключать FLL. В любом случае - без закономерности ничего не поймешь.
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33487332
sanya_tir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crispy sanya_tir S866как я понял thisform.windowstate вы вызываете из fll-ки


нет, не так. У меня просто кнопка на форме "Свернуть".... в ней и пишу thisform.windowstate=1. Срабатывает эквивалентно виндовой кнопки "свернуть", но вот иногда выдает ошибку. При использовании виндовой кнопки "свернуть" ошибка никогда не возникает.
Надо наверно попробовать найти какую-то закономерность - когда именно выскакивает ошибка. Через дебаггер последить, что срабатывает и что меняется, возможно в это время иногда что-то подвешено или наоборот не установлено, что косвенно цепляет вызов FLL, но как-то неординарно, из-за чего и лезет ошибка.
Попробуй поотключать FLL. В любом случае - без закономерности ничего не поймешь.

Закономерности к сожалению никакой нет. Можес с первого нажатия выскочить, может и 50 раз успешно отработать. Думаю, что по-разному работает thisform.windowstate=1 и виндовое "Свернуть окно"
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33487418
po2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
po2
Гость
А почему не сделать, как в оригинальном примере автора bbsystray . Там вся функциональность для свертывания формы зашита в процедурах Hide и Resize. Соответственно в кнопке Cвернуть... пишем:
Код: plaintext
ThisForm.Hide()
, а в событии Resize:
Код: plaintext
1.
2.
if thisform.WindowState= 1   && minimized
thisform.hide()
endif
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33489826
sanya_tir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
po2А почему не сделать, как в оригинальном примере автора bbsystray . Там вся функциональность для свертывания формы зашита в процедурах Hide и Resize. Соответственно в кнопке Cвернуть... пишем:
Код: plaintext
ThisForm.Hide()
, а в событии Resize:
Код: plaintext
1.
2.
if thisform.WindowState= 1   && minimized
thisform.hide()
endif


Изначально было у меня на кнопке ThisForm.Hide(), оно сворачивалось, но не прописывало thisform.WindowState=1, а по WindowState я ориентировался в таймере свернуто окно или нет... Присвоение thisform.WindowState=1 само инициирует метод Hide. Уже думаю вообще убрать кнопку свернуть, пусть виндовой пользуются, но хотелось бы разобраться почему у меня не работает, тем более что многие пользователи к ней уже привыкли.
...
Рейтинг: 0 / 0
Как сэмулировать нажатие "Свернуть окно"
    #33493139
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi sanya_tir!

Во-первых простое присвоение свойства и реальное нажатие системной кнопки
минимизации - это разные вещи (я думаю это понятно и без объяснений). В
частности вряд-ли при таком "присвоении" происходят ВСЕ те события и В ТОМ
ПОРЯДКЕ как это наблюдается при нажатии системной кнопки - также я не в
курсе тонкостей реализации этого компонента, но если там идёт перехват
оконных сообщений активного окна - то вполне возможна ситуация "потери" этих
сообщений.
Во-вторых "сэмулировать нажатие системной кнопки" можно при помощи посылки
соответствующего оконного сообщения - WM_SYSCOMMAND с параметром
SC_MINIMIZE - подробности по этому сообщению см. в MSDN - послать его можно
скажем через PostMessage или SendMessage - опять-же см. MSDN и поиском
воспользуйся для примеров.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сэмулировать нажатие "Свернуть окно"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]