Правильно восстановить окно из свернутого состояния

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Правильно восстановить окно из свернутого состояния

Сообщение Rody66 » 10.04.2012 (Вт) 14:33

Никак не выходит правильное восстановление окна из свернутого состояния. Такая вот, с первого взгляда, простая проблема.
Получается либо восстановить в обычное окно, либо восстановить в развернутое окно. А вот как выяснить, какое состояние было у свернутого окна до его сворачивания мне не известно.
То есть надо сделать тоже, что делает диспетчер задач при нажатии на кнопку Переключиться.
SW_RESTORE по какой-то причине не работает.
Спасибо.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Re: Правильно восстановить окно из свернутого состояния

Сообщение Kostyan » 10.04.2012 (Вт) 14:50

Манипулируешь своей формой или окном чужой программы?
Нет ничего невозможного для человека с интеллектом.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Правильно восстановить окно из свернутого состояния

Сообщение Rody66 » 10.04.2012 (Вт) 14:55

Чужие окна.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Re: Правильно восстановить окно из свернутого состояния

Сообщение Kostyan » 10.04.2012 (Вт) 15:13

Покажи как используешь SW_RESTORE.
Нет ничего невозможного для человека с интеллектом.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Правильно восстановить окно из свернутого состояния

Сообщение Rody66 » 10.04.2012 (Вт) 15:17

Код: Выделить всё
Const SW_RESTORE As Long = 9
ShowWindow hwnd, SW_RESTORE

Всегда восстанавливает окно в WindowState=0

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Re: Правильно восстановить окно из свернутого состояния

Сообщение Kostyan » 10.04.2012 (Вт) 15:29

Не может быть. Должно восстанавливать в то состояние и положение в котором окно находилось до сворачивания.
Попробуй мой пример, у меня работает как надо.
Жмешь на PictureBox, тащишь мышь не отпуская левую кнопку на любое окно (при этом окно выделяется) и отпускаешь на нём. Затем сверни и разверни соответствующими кнопками.
Вложения
Restore.rar
(2.45 Кб) Скачиваний: 128
Нет ничего невозможного для человека с интеллектом.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Правильно восстановить окно из свернутого состояния

Сообщение Rody66 » 10.04.2012 (Вт) 15:54

Ужас.. проблема была в том, что таймер слишком часто срабатывал, и поэтому после того, как форма развернулась на весь экран, еще раз вызывался SW_RESTORE и окно принимало WindowState=0. Сам пришел в недоумение, когда одно и тоже сработало по-разному, и ответ стал очевиден. Большое спасибо за помощь, и прошу прощение за потраченное время. Кто ж его знал, что SW_RESTORE так работает..


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 90

    TopList