Страница 1 из 1
Как перевести окно из полноэкранного в оконный режим?
Добавлено: 21 сен 2006, 23:20
Linky
Собственно сабж.
Добавлено: 22 сен 2006, 09:32
vunder
свойство формы WIndowsState
wsNormal - "обычное", т.е. то, как ты его сделал при радактировании (как раз оконный режим)
wsMaximized - полноэкранный
wsMinimized - окно свернуто в панель задач
Добавлено: 22 сен 2006, 09:36
somewhere
Ну вообще так
YourForm.WindowState := wsNormal;
или так
ShowWindow(YourWindow.Handle, SW_SHOWNORMAL);
Добавлено: 22 сен 2006, 16:53
Linky
Извиняюсь что не уточнил сразу, имеется ввиду что окно чужого приложения.
Добавлено: 23 сен 2006, 15:23
Лелик_1044
Ишешь это окно допустим по названию, а потом делаешь с ним вссе что хочеь
Добавлено: 24 сен 2006, 23:55
Linky
Поймать окно то я поймал, а вот перевести через ShowWindow всеми вариантами пробовал не помогает.
Добавлено: 25 сен 2006, 08:55
somewhere
HWND := FindWindow('TMainForm', 'MainForm');
ShowWindow(HWND, SW_SHOWNORMAL);
Такой код работает, но есть загвоздка. Если первоначальные параметры окна (длина, ширина) больше габаритов экрана, то
SW_NORMAL - практически тоже самое, что и SW_MAXIMIZE.
А если прога использует DirectX - то тут посложнее будет. Окно может быть вообще свернуто - прога будет использовать поверх-
ность отличную от виндовой и они никак взаимодействовать не будут.
Винда плохо справляется с переходом из полноэкранных игр, работающих через DirectX. Иногда рабочий стол может и не
появиться ;-)
Добавлено: 25 сен 2006, 08:59
somewhere
Попробуй просто сделать Resize - установи новую высоту и ширину и опять вызови ShowWindow. Это должно привести к апдейту окна. Может получиться - все от проги зависит. Прога возможно что-то делает на OnResize и не хочет, чтобы ее как-то меняли.
Добавлено: 26 сен 2006, 23:56
Linky
Прога работает в режиме 640х480, возможно нужно поменять разрешение экрана при развернутой программе, как это сделать?