Сворачивание/разворачивание окна
Как его заставить сворачиваться?
Можно добавить свою кнопку, посылающую соответствующую команду сворачивания
Можно добавить свою кнопку, посылающую соответствующую команду сворачивания[/quote]
Да, окно диалоговое.
К примеру окно сейчас свернутое (или находится под другим). Кликаю на это окно на таскбаре - окно появляется на десктопе.
Теперь когда окно видно, я еще раз кликаю на него на тасбаре, чтоб оно свернулось - и оно НЕсворачивается.
Цитата: Matush
Если я кликаю на него на тасбаре, то оно разворачиваеться, если кликаю еще раз, то оно не сворачивается.
Как его заставить сворачиваться?
Как его заставить сворачиваться?
Если оно разворачивается, то было свернуто? Как?
SendMessage()
WM_Minimize
Цитата: Sania
Если оно разворачивается, то было свернуто? Как?
SendMessage()
WM_Minimize
SendMessage()
WM_Minimize
Я наверное плохо обьясняю.
Надо чтобы когда окно в развернутом состоянии, юзер кликает на него НА ТАСКБАРЕ, и оно дожлнл свернуться.
Если окно чужое, то надо перехватывать клик по таскбару.
Цитата: Sania
Если окно твое, то самое простое - сделать его недиалоговым.
Окно мое, код мой. Недиалоговое окно ничего не решает. Если у окна нету стиля [SIZE=2]WS_MINIMIZEBOX, то оно сворачиваться по клику на тасбаре не хочет.[/SIZE]
IMHO, только прехват клика по таскбару поможет. Видимо, винда не сворачивает окна без этого стиля.
Цитата: Matush
Есть диалоговое окно без TitleBar'а. Его видно на тасбаре. Если я кликаю на него на тасбаре, то оно разворачиваеться, если кликаю еще раз, то оно не сворачивается.
Как его заставить сворачиваться?
Как его заставить сворачиваться?
Выставь диалогу стиль WS_DLGFRAME | WS_GROUP | WS_MINIMIZE | WS_POPUP | WS_VISIBLE (Не понятно почему, но ключевой здесь флаг это WS_GROUP).
Цитата: k3Eahn
Выставь диалогу стиль WS_DLGFRAME | WS_GROUP | WS_MINIMIZE | WS_POPUP | WS_VISIBLE (Не понятно почему, но ключевой здесь флаг это WS_GROUP).
Ухты, пашет. Спасибо.
Вопрос к k3Eahn: в результате каких махинаций ты нашел что WS_GROUP будет себя так вести :)? Из нашего любимого MSDN этот флаг вообще другими вещами должен заниматься. Но у меня работает как ты и написал.