Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2009, 13:37   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию Как программно развернуть форму на весь экран?

Как программно развернуть форму на весь экран? Свойство WindowsState:=wsMaximized раворачивает форму так, что перекрывается панель Виндоуса "Пуск". Как развернуть так, чтобы не перекрывалась панель "Пуск"?
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 22.03.2009 в 14:12.
chandrasecar вне форума Ответить с цитированием
Старый 22.03.2009, 14:32   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Screen.Monitors[Screen.MonitorFromWindow(TForm.Hand le)].WorkArea - содержим левый, верхний отступы, а так же точки от левого и верхнего до нижнего и правого краев. Строку кода писал сдесь, так что возможны мелкие не дочеты.
BOBAH13 вне форума Ответить с цитированием
Старый 22.03.2009, 18:15   #3
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Свойство WindowsState:=wsMaximized раворачивает форму так, что перекрывается панель Виндоуса "Пуск".
Не должна... У меня нормально срабатывает...
И там буква лишняя: WindowState:=wsMaximized;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 22.03.2009, 18:21   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Просто у вас установлено свойство "Отображать панель задач поверх остальных окон", а у него - нет...
mihali4 вне форума Ответить с цитированием
Старый 22.03.2009, 18:56   #5
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Потестил...

Нормально разворачивается только если BorderStyle установлен в bsSingle, bsSizeable или bsSizeToolWin...
При bsDialog, bsNone или bsToolWindow панель Виндоуса с кнопкой "Пуск" действительно почему-то перекрывается.....
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 26.07.2015, 10:32   #6
Kassatka
Новичок
Джуниор
 
Регистрация: 22.07.2015
Сообщений: 2
По умолчанию

С помощью Windows Api функции ShowWindow, которая дает команды окну разворачиваться, сворачиваться, прятаться, показываться и т.д.
При подключенных
uses Winapi.Windows, Winapi.Messages; //в новых делфях
uses Windows, Messages; //в старых делфях
Пишем
Код:
ShowWindow(Form1.Handle,SW_MAXIMIZE);
Эффект как при нажатии на кнопку "развернуть" в правом верхнем меню окна.

Полное описание функции:

Функция ShowWindow
Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Платформа: Win 95/98, Win NT

ShowWindow показывает(или скрывает) окна стандартным способом.Например,функция может свернуть,развернуть или восстановить окно.Функция возвращает 0,если окно было раньше скрыто.Если окно было видимым-возвращает значение, отличное от нуля.

hwnd
дескриптор окна для изменения статуса этого окна.
nCmdShow
Флаги функции,определяющие вид окна:

SW_HIDE = 0
Скрыть окно и активизировать другое окно.
SW_MAXIMIZE = 3
Развернуть окно.
SW_MINIMIZE = 6
Свернуть окно и активизировать следующее окно в Z-порядке(следующее под свернутым окном).
SW_RESTORE = 9
Активизировать и отобразить окно.Если окно свернуто или развернуто,Windows восстанавливает его исходный размер и положение.
SW_SHOW = 5
Активизировать окно.
SW_SHOWMAXIMIZED = 3
Отобразить окно в развернутом виде.
SW_SHOWMINIMIZED = 2
Отобразить окно в свернутом виде.
SW_SHOWMINNOACTIVE = 7
Отобразить окно в свернутом виде.Активное окно остается активным.
SW_SHOWNA = 8
Отобразить окно в текущем состоянии.Активное окно остается активным.
SW_SHOWNOACTIVATE = 4
Отобразить окно в соответствии с последними значениями позиции и размера.Активное окно остается активным.
SW_SHOWNORMAL = 1
Активизировать и отобразить окно.Если окно свернуто или развернуто,Windows восстанавливает его исходный размер и положение.Приложение должно указывать этот флаг при первом отображении окна.
Kassatka вне форума Ответить с цитированием
Старый 26.07.2015, 10:39   #7
Kassatka
Новичок
Джуниор
 
Регистрация: 22.07.2015
Сообщений: 2
По умолчанию

Что же касается того, чтоб средствами Делфи занять всю рабочую область текущего монитора (того, на экране которого сейчас наше окно Form1), то здесь так:
Код:
with Form1 do begin
    Left:=Screen.WorkAreaRect.Left;
    Top:=Screen.WorkAreaRect.Top;
    Width:=Screen.WorkAreaRect.Width;
    Height:=Screen.WorkAreaRect.Height;
end;
Тем не менее окно хоть и расползется на ту же самую площадь, оно не будет в развернутом режиме (в правом верхнем углу будет находиться кнопка "развернуть", а не "восстановить"), в результате рамка окна будет занимать много места по сравнению с результатом ShowWindow(Form1.Handle,SW_MAXIMIZE ).
Kassatka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление компонентами(видимыми и невидиммыми) в чужой программе(любой) Alter Win Api 21 13.05.2009 23:13
Как передать данные в MDIChild-форму, загруженную из dll Shvonder Общие вопросы Delphi 0 18.03.2009 12:46
работа с компонентами через WinApi user_jasser Win Api 17 17.11.2008 22:11
Удаленное управление через ICQ dolphin705 Общие вопросы Delphi 25 07.10.2008 21:30
Управление через лан yura-cat Помощь студентам 7 23.09.2008 00:26