SetWindowPos(theHandle, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE ORSWP_NOSIZE OR SWP_SHOWWINDOW); |
Далее я обнаружил, что дочерние окна не скрывались/показывались, *ЕСЛИ* для осуществления этих функций использовались оконные компоненты (например, кнопки). Для решения проблемы добавьте следующую строку после вызова SetWindowPos:
|
WinProcs.SetFocus(TheHandle); |
*НЕ* используйте метод SetFocus; SetFocus здесь - Windows API функция.
- Neil
Дополнение
По моему,все-таки, вызов ShowWindow(theHandle, SW_HIDE)проще, короче и, по крайней мере, в Delphi5 нормально работает с оконными компонентами.
procedure TMainForm.Button1Click(Sender: TObject); begin //кнопка для показа/скрытия дочернего MDI-окна If ShowWindow(form1MDI.Handle, SW_HIDE)=False then ShowWindow(form1MDI.Handle, SW_SHOW);end; |
С уважением Михаил Шпанер.
[000497]