Здравствуйте, CEMb, Вы писали:
CEM>Как определить для минимизированного окна, куда оно восстановится? В normal или maximized? CEM>GetWindowPlacement в любом случае содержить только normal rect
А если проверить WINDOWPLACEMENT.flags на наличие WPF_RESTORETOMAXIMIZED?
Здравствуйте, CEMb, Вы писали:
CEM>Зато неожиданно работает — SetWindowLongPtr(hWnd, GWL_STYLE, own_style &~WS_VISIBLE); CEM>Неожиданно, именно — окно продолжает висеть в таскбаре при этом оно невидимое. CEM>При это интересный эффект наблюдается, если: CEM>~WS_VISIBLE, |WS_MINIMIZE, |WS_VISIBLE — окно своего нормального размера (restore rect) и при этом — минимизированное! CEM>Кому доводилось наблюдать минимизированные окна в полэкрана?
Здравствуйте, kero, Вы писали:
K>Здравствуйте, CEMb, Вы писали:
A>>>А если проверить WINDOWPLACEMENT.flags на наличие WPF_RESTORETOMAXIMIZED?
CEM>>Ага, он самый, работает.
K>токо не всегда
Здравствуйте, kero, Вы писали:
A>>>>>А если проверить WINDOWPLACEMENT.flags на наличие WPF_RESTORETOMAXIMIZED?
CEM>>>>Ага, он самый, работает.
K>>>токо не всегда
A>>А можно поподробнее?
K>Вроде нарывался, проверю и доложу, сейчас нет возможности, попозже.
Как определить для минимизированного окна, куда оно восстановится? В normal или maximized?
GetWindowPlacement в любом случае содержить только normal rect
Здравствуйте, Aniskin, Вы писали:
CEM>>Как определить для минимизированного окна, куда оно восстановится? В normal или maximized? CEM>>GetWindowPlacement в любом случае содержить только normal rect
A>А если проверить WINDOWPLACEMENT.flags на наличие WPF_RESTORETOMAXIMIZED?
Здравствуйте, Aniskin, Вы писали:
A>>>>А если проверить WINDOWPLACEMENT.flags на наличие WPF_RESTORETOMAXIMIZED?
CEM>>>Ага, он самый, работает.
K>>токо не всегда
A>А можно поподробнее?
Вроде нарывался, проверю и доложу, сейчас нет возможности, попозже.
Требуется сделать такую штуку.
В системах, где минимизация-восстановление отражено анимацией — можно ли восстановить/минимизировать окно без анимации? Где она вообще включается-выключается?
Конечная цель — снять картинку с окна. Картинка снимается, но вот со свёрнутого окна — видно только свёрнутое окно.
Здравствуйте, CEMb, Вы писали:
CEM>Требуется сделать такую штуку. CEM>В системах, где минимизация-восстановление отражено анимацией — можно ли восстановить/минимизировать окно без анимации? Где она вообще включается-выключается?
1) Выключается в SystemParametersInfo, если я не ошибаюсь, или где-то в похожих функциях. Не уверен.
2) Можно попробовать так: ShowWindow: SW_HIDE -> SW_MINIMIZE -> SW_SHOW
Здравствуйте, SaZ, Вы писали:
CEM>>Требуется сделать такую штуку. CEM>>В системах, где минимизация-восстановление отражено анимацией — можно ли восстановить/минимизировать окно без анимации? Где она вообще включается-выключается?
SaZ>1) Выключается в SystemParametersInfo, если я не ошибаюсь, или где-то в похожих функциях. Не уверен.
Ага, так и есть, параметр SPI_GETANIMATION, структура ANIMATIONINFO
SaZ>2) Можно попробовать так: ShowWindow: SW_HIDE -> SW_MINIMIZE -> SW_SHOW
SW_HIDE — снесёт окно из таскбара
Зато неожиданно работает — SetWindowLongPtr(hWnd, GWL_STYLE, own_style &~WS_VISIBLE);
Неожиданно, именно — окно продолжает висеть в таскбаре при этом оно невидимое.
При это интересный эффект наблюдается, если:
~WS_VISIBLE, |WS_MINIMIZE, |WS_VISIBLE — окно своего нормального размера (restore rect) и при этом — минимизированное!
Кому доводилось наблюдать минимизированные окна в полэкрана?
Правда, в обратную сторону у меня не получилось, WS_MINIMIZE руками не сбрасывается... но таскбар на клик, к примеру, реагирует, или SW_RESTORE тоже обычным образом отрабатывает
Здравствуйте, kero, Вы писали:
CEM>>Зато неожиданно работает — SetWindowLongPtr(hWnd, GWL_STYLE, own_style &~WS_VISIBLE); CEM>>Неожиданно, именно — окно продолжает висеть в таскбаре при этом оно невидимое. CEM>>При это интересный эффект наблюдается, если: CEM>>~WS_VISIBLE, |WS_MINIMIZE, |WS_VISIBLE — окно своего нормального размера (restore rect) и при этом — минимизированное! CEM>>Кому доводилось наблюдать минимизированные окна в полэкрана?
K>Что, правда не догадываетесь — кому?
Ну и где там стиль устанавливается?
Почему нельзя сделать одну, большую, нормальную, удобную программу?
А вот за SetWindowPlacement — спасибо это то, что нужно!
Здравствуйте, kero, Вы писали:
CEM>>Зато неожиданно работает — SetWindowLongPtr(hWnd, GWL_STYLE, own_style &~WS_VISIBLE); CEM>>Неожиданно, именно — окно продолжает висеть в таскбаре при этом оно невидимое. CEM>>При это интересный эффект наблюдается, если: CEM>>~WS_VISIBLE, |WS_MINIMIZE, |WS_VISIBLE — окно своего нормального размера (restore rect) и при этом — минимизированное! CEM>>Кому доводилось наблюдать минимизированные окна в полэкрана?
K>Что, правда не догадываетесь — кому?
Кстати, большое минимизированное окно я так и не увидел
Походу, оно только стилями колдуется.
Здравствуйте, CEMb, Вы писали:
CEM>>>Зато неожиданно работает — SetWindowLongPtr(hWnd, GWL_STYLE, own_style &~WS_VISIBLE); CEM>>>Неожиданно, именно — окно продолжает висеть в таскбаре при этом оно невидимое. CEM>>>При это интересный эффект наблюдается, если: CEM>>>~WS_VISIBLE, |WS_MINIMIZE, |WS_VISIBLE — окно своего нормального размера (restore rect) и при этом — минимизированное! CEM>>>Кому доводилось наблюдать минимизированные окна в полэкрана?
K>>Что, правда не догадываетесь — кому?
CEM>Ну и где там стиль устанавливается?
Т.е. — как это где ?!
Для конкретности примем, что мы на Win7 Aero.
1) Запускаем wp,
2) запускаем целевое окно (скажем — папку),
3) фиксируем это окно в wp:
наводим курсор на заголовок целевого окна и шлепаем LSift + RShift,
после чего в окно wp вываливается кое-какая инфа о целевом окне,
4) для большего кайфа — еще и максимизируем целевое окно
(хоть из меню wp, хоть кнопкой заголовка целевого окна),
5) и, наконец, в меню wp "More..." — "ws_Minimize".
Смотрим на целевое окно:
оно — (зрительно) максимизировано во весь экран,
и вместе с тем — минимизировано (взгляните на кнопки его заголовка),
такой вот изловили момент его жизни.
На самом-то деле почти все целевое окно превратилось в область HTCAPTION
(в чем легко убедиться при помощи HTSpy, его фотка).
Здравствуйте, kero, Вы писали:
CEM>>А... блин, самое главное в самое дальнее меню склал...
K>И почему — "самое дальнее"? K>Самое дальнее (в текущей версии) — это "Cursor+LShift+RShift",
Оно логически дальнее "More..."
K>пример его задействования см. в соседнем топике
Здравствуйте, CEMb, Вы писали:
K>>И почему — "самое дальнее"? K>>Самое дальнее (в текущей версии) — это "Cursor+LShift+RShift",
CEM>Оно логически дальнее "More..."
K>>пример его задействования см. в соседнем топике
Здравствуйте, kero, Вы писали:
K>>>И почему — "самое дальнее"? K>>>Самое дальнее (в текущей версии) — это "Cursor+LShift+RShift",
CEM>>Оно логически дальнее "More..."
K>>>пример его задействования см. в соседнем топике