| Автор
| Сообщение |
|
|
|
Цитата |
|
Подскажите, как грамотно сворачивать чужие окна (аналог "Свернуть все окна")?
Почему этот код при восстановлении предыдущего экземпляра не дает пользоваться кнопкой минимизации окна
| Код: | if IsIconic(index) then OpenIcon(index);
if IsWindowEnabled(index)= False then EnableWindow(index, True);
if IsWindowVisible(index)= False then ShowWindow(index, SW_SHOWNORMAL);
SendMessage(index, SW_RESTORE, SW_SHOWNORMAL, 1); <--- ???
SetForegroundWindow(index);
|
|
|
| В начало |
|
 |
|
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
а что это за сообщение у тебя такое - SW_RESTORE?
обычно для сворачивания окна используют сообщение WM_SYSCOMMAND с параметром SC_MINIMIZE.
т.е. в твоем случае это будет выглядеть так (если конечно переменная index подразумевает собой хэндл окна):
| Код: | | SendMessage(index, WM_SYSCOMMAND, SC_MINIMIZE, 0); |
ну и для восстановления соответственно
| Код: | | SendMessage(index, WM_SYSCOMMAND, SC_RESTORE, 0); |
_________________ Пойду посплю перед сном. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Вот немного переделал:
| Код: |
index:= FindWindow(nil,' --- Заголовок ---');
if index <> 0 then begin
if IsIconic(index)then begin
OpenIcon(index);
ShowWindow(index, SW_RESTORE);
end;
if IsWindowEnabled(index)= False then
EnableWindow(index, True);
if IsWindowVisible(index)= False then
ShowWindow(index, SW_SHOWNORMAL);
SendMessage(index, WM_SYSCOMMAND, SC_RESTORE, 0);
SetForegroundWindow(index);
Application.Terminate;
exit;
end;
Application.Initialize;
|
Оно восстанавливает предыдущий экземпляр, ставит на передний план, но кнопка минимизации окна потом отказывается работать. |
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
to psa247 Здесь это уже обсуждалось ранее. Воспользуйся поиском в данном форуме. _________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
|