|
|
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
Для этого я использую thisform.windowstate = 1, однако иногда при этом возникает ошибка "API CALL...." из-за того что у меня используется внешняя bbsystray.fll, а на методе hide вызывается AddSysTrayIcon(). Но тем не менее при использовании стандартной кнопки "свернуть окно" такая ошибка никогда не появлялась. Поэтому я думаю, что неправильно эмулирую свертывание окна. Подскажите как это правильно сделать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 09:42 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
как я понял thisform.windowstate вы вызываете из fll-ки а такое обращение к окну "thisform" возможно только из самой формы надо как то по другому обращаться к форме из вне. например form1.windowstate=1 или по дискриптору формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 11:15 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
S866как я понял thisform.windowstate вы вызываете из fll-ки нет, не так. У меня просто кнопка на форме "Свернуть".... в ней и пишу thisform.windowstate=1. Срабатывает эквивалентно виндовой кнопки "свернуть", но вот иногда выдает ошибку. При использовании виндовой кнопки "свернуть" ошибка никогда не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 12:02 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
тогда вроде бы все правильно делаете - может фокс запорчен? попробуйте переустановить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 13:27 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
sanya_tir S866как я понял thisform.windowstate вы вызываете из fll-ки нет, не так. У меня просто кнопка на форме "Свернуть".... в ней и пишу thisform.windowstate=1. Срабатывает эквивалентно виндовой кнопки "свернуть", но вот иногда выдает ошибку. При использовании виндовой кнопки "свернуть" ошибка никогда не возникает. Надо наверно попробовать найти какую-то закономерность - когда именно выскакивает ошибка. Через дебаггер последить, что срабатывает и что меняется, возможно в это время иногда что-то подвешено или наоборот не установлено, что косвенно цепляет вызов FLL, но как-то неординарно, из-за чего и лезет ошибка. Попробуй поотключать FLL. В любом случае - без закономерности ничего не поймешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 14:28 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
Crispy sanya_tir S866как я понял thisform.windowstate вы вызываете из fll-ки нет, не так. У меня просто кнопка на форме "Свернуть".... в ней и пишу thisform.windowstate=1. Срабатывает эквивалентно виндовой кнопки "свернуть", но вот иногда выдает ошибку. При использовании виндовой кнопки "свернуть" ошибка никогда не возникает. Надо наверно попробовать найти какую-то закономерность - когда именно выскакивает ошибка. Через дебаггер последить, что срабатывает и что меняется, возможно в это время иногда что-то подвешено или наоборот не установлено, что косвенно цепляет вызов FLL, но как-то неординарно, из-за чего и лезет ошибка. Попробуй поотключать FLL. В любом случае - без закономерности ничего не поймешь. Закономерности к сожалению никакой нет. Можес с первого нажатия выскочить, может и 50 раз успешно отработать. Думаю, что по-разному работает thisform.windowstate=1 и виндовое "Свернуть окно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 14:46 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
А почему не сделать, как в оригинальном примере автора bbsystray . Там вся функциональность для свертывания формы зашита в процедурах Hide и Resize. Соответственно в кнопке Cвернуть... пишем: Код: plaintext Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2006, 15:13 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
po2А почему не сделать, как в оригинальном примере автора bbsystray . Там вся функциональность для свертывания формы зашита в процедурах Hide и Resize. Соответственно в кнопке Cвернуть... пишем: Код: plaintext Код: plaintext 1. 2. Изначально было у меня на кнопке ThisForm.Hide(), оно сворачивалось, но не прописывало thisform.WindowState=1, а по WindowState я ориентировался в таймере свернуто окно или нет... Присвоение thisform.WindowState=1 само инициирует метод Hide. Уже думаю вообще убрать кнопку свернуть, пусть виндовой пользуются, но хотелось бы разобраться почему у меня не работает, тем более что многие пользователи к ней уже привыкли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2006, 16:19 |
|
||
|
Как сэмулировать нажатие "Свернуть окно"
|
|||
|---|---|---|---|
|
#18+
Hi sanya_tir! Во-первых простое присвоение свойства и реальное нажатие системной кнопки минимизации - это разные вещи (я думаю это понятно и без объяснений). В частности вряд-ли при таком "присвоении" происходят ВСЕ те события и В ТОМ ПОРЯДКЕ как это наблюдается при нажатии системной кнопки - также я не в курсе тонкостей реализации этого компонента, но если там идёт перехват оконных сообщений активного окна - то вполне возможна ситуация "потери" этих сообщений. Во-вторых "сэмулировать нажатие системной кнопки" можно при помощи посылки соответствующего оконного сообщения - WM_SYSCOMMAND с параметром SC_MINIMIZE - подробности по этому сообщению см. в MSDN - послать его можно скажем через PostMessage или SendMessage - опять-же см. MSDN и поиском воспользуйся для примеров. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2006, 01:10 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=280&tid=1592575]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
110ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 432ms |

| 0 / 0 |
