Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

почему не работает ShowWindow(WHandle, SW_RESTORE) ?


howdo ©   (2004-11-06 12:35:00) 

почему не работает ShowWindow(WHandle, SW_RESTORE) ?

работает с SW_SHOWNA, но это не совсем то, что нужно...


howdo   (2004-11-07 01:29:00) [1]

2Игорь Шевченко
да! именно FindControl.
спасибо


Игорь Шевченко   (2004-11-07 00:18:00) [2]


> как найти форму, если известен только ее дескриптор (Handle)
> ?


FindControl ?


DVM   (2004-11-07 00:11:00) [3]


> как найти форму, если известен только ее дескриптор

Что значит найти форму? Узнать класс окна что ли?
GetClassName может. Хэндл у окна на то и есть, чтобы окна отличать одно от другого.


howdo   (2004-11-07 00:05:00) [4]

странное дело.
у меня только с SW_SHOWNA работает.
ну а с вторым вопросом как? как найти форму, если известен только ее дескриптор (Handle) ?


DVM   (2004-11-06 23:44:00) [5]


> howdo   (06.11.04 23:39) [5]

Все работает.

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowWindow(Form2.Handle, SW_RESTORE);
end;


howdo   (2004-11-06 23:39:00) [6]

2Piter

ха, так у Вас окно приложения разворачивается. а нужно вторичную форму показать. т.е. есть на главной форме кнопка, жмем по ней, и показывается второе окошко. если это окошко уже показано, то активировать его, если свернуто -- восстановить и активировать.


Игорь Шевченко   (2004-11-06 23:22:00) [7]


> почему не работает ShowWindow(WHandle, SW_RESTORE) ?


PostMessage(WHandle, WM_SYSCOMMAND, SC_RESTORE, 0);


Piter   (2004-11-06 22:13:00) [8]

howdo   (06.11.04 16:04) [2]
вот у меня форма -- с дефолтными значениями свойств


у меня тоже с дефолтными. НА форме - таймер. В обработчике написано:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 ShowWindow(Application.Handle, SW_RESTORE);
end;


при этом если свернуть приложение - оно тут же разворачивается (в пределах интервала таймера). Из чего я делаю вывод, что ShowWindowспараметром SW_RESTORE таки работает.


howdo   (2004-11-06 16:04:00) [9]

ну а как работает-то?
может у Вас какие особые свойства у формы стоят?
вот у меня форма -- с дефолтными значениями свойств, вторичная.
еще вопрос (может, глупый совсем) -- как найти форму по ее ссылке?


Piter   (2004-11-06 13:20:00) [10]

ну а у меня работает...


Наверх

Титульная страница Поиск, карта сайта Написать письмо