![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ShowWindow(wndHandle, SW_RESTORE) и минимизация приложения [D5, Win95/98]
Sergn © (2002-04-12 21:22:00)Есть код, активизирующий по названию класса Формы некоторое приложение:
var
h:HWND;
begin
h := FindWindow("TMyForm", nil);
if h > 0 then begin
ShowWindow(h, SW_RESTORE);
SetForegroundWindow(h);
end;
end;
Проблема в следующем. Если активизируемое приложение находилось в минимизированном состоянии, то после восстановления его размеров с помощью данного кода, не рботает системная кнопка минимизации окна.
Кокой выход? Т. е. как мне активизировать приложение, чтобы его
затем можно было снова минимизировать с помощью системной кнопки?
Sergn (2002-04-15 18:00:00) [1]>amamed_3071
К сожалению ShowWindow(h,SHOW_OPENWINDOW) приводит к тому же результату. После восстановления окна, оно не минимизируется.
Хотя максимизация работает нормально( в обоих вариантах вызова
ShowWindow). Может быть эта проблема еще зависит от некоторого свойства формы или свойства application?
amamed_3071 (2002-04-15 16:02:00) [2]ShowWindow(h,SHOW_OPENWINDOW);
SetForegroundWindow(h);
Sergn (2002-04-15 14:28:00) [3]Кстати попробовал принудительно минимизировать через
Application.minimize. Все равно не минимизируется.
Song (2002-04-15 14:25:00) [4]Напишите в поиске "отловить WM_SYSCOMMAND". Только я раз 10 отвечал на этот вопрос.
Sergn (2002-04-15 14:18:00) [5]А как отловить WM_SYSCOMMAND ?
Song (2002-04-15 10:43:00) [6]Странно. У меня в точности такой же кусок кода (почти один в один) и всё работает.
Попробуйте отловить WM_SYSCOMMAND и принудительно минимизировать. И посмотрите заодно вызывает ли минимизацию как таковую нажатие на кнопку с чёрточкой.
Sergn (2002-04-15 10:37:00) [7]В активизируемом приложении у меня на minimizeничего нет. И события onResize и onCanResize никак не обрабатываются.
Само нажатие кнопки минимизации не вызывает никаках событий.
Song (2002-04-13 10:19:00) [8]Тут по-моему проблема не в этом. В активизируемом приложению у Вас на minimize ничего не стоит? Я про то, что ищите ошибку в другом месте.