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

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

Рамеры формы и экрана


tar ©   (2007-03-25 16:13:00) 

Приветствую! Мне необходимо, чтобы при запуске размеры формы были во весь экран, казалось юы нужно установить свойство wsMaximized, но при этом видна панель задач Windows, подскажите пожалуйста как сделать так чтобы форма действительно открывалась во весь экран.


tar   (2007-03-26 15:57:00) [1]

Можно закрыть тему


tar   (2007-03-26 09:41:00) [2]

Как оказалось нужно в свойстве формы DefaultMonitor равным DMPrimary


tar   (2007-03-25 18:51:00) [3]

Я решил проверить и вывести в memo размеры рабочей области
r : TRect;
           begin
           SystemParametersInfo(SPI_GETWORKAREA, 0,@r,0);
form1.Top:=r.Top;
             Left:=r.Left;
             height:=r.Bottom;
             form1.Width:=r.Right;

memo выдал:

0
0
844
1400

У меня на мониторе разрешение 1400*900, как я понимаю 54 точки резервируются для панели задач
?????????????????????????????????


tar   (2007-03-25 18:45:00) [4]

да, панель скрывается - это есть хорошо, а вот место где она должна быть форма не закрывает ;(( там просто пустое место


tar   (2007-03-25 18:45:00) [5]

да, панель скрывается - это есть хорошо, а вот место где она должна быть форма не закрывает ;(( там просто пустое место


eXPell   (2007-03-25 18:28:00) [6]

Пожалуйста(если я понимаю о чем разговор:))))
procedure TForm1.Button1Click(Sender: TObject);
            var
              hTaskBar : THandle;
            begin
              hTaskbar := FindWindow('Shell_TrayWnd', Nil);
              ShowWindow(hTaskBar, SW_HIDE);
            end;

            procedure TForm1.Button2Click(Sender: TObject);
            var
              hTaskBar : THandle;
            begin
              hTaskbar := FindWindow('Shell_TrayWnd', Nil);
              ShowWindow(hTaskBar, SW_SHOWNORMAL);
            end;


ЗЫ. с пионерил с КД:)


tar   (2007-03-25 18:23:00) [7]

подскажи код


eXPell   (2007-03-25 18:20:00) [8]


> tar   (25.03.07 18:08) [11]

а может ее лучше спрятать? А? Код нужен? или сам найдешь?

ЗЫ. ;)


tar   (2007-03-25 18:08:00) [9]

Че не прокатило?

> Форма не покрывает панель задач

форма должна выполнять функции блокировки

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


RASkov   (2007-03-25 18:02:00) [10]

> Короче не прокатило

Че не прокатило? А у меня прокатывает (WinXP Sp2, D7)...

> форма в наглую покрывала экран, ну типа как в скринсэйверах.

Это ты уже говорил. Ты скажи

> А нафик надо все закрывать своей формой?

Может тебе и форма-то не нужна....


tar   (2007-03-25 17:38:00) [11]

Короче не прокатило, мнее нужно, чтобы даже в не зависимости от того, какие свойства установлены у панели задач, форма в наглую покрывала экран, ну типа как в скринсэйверах.


RASkov   (2007-03-25 17:32:00) [12]

> [6] tar   (25.03.07 16:51)

procedure TForm1.Button1Click(Sender: TObject);
begin
 WindowState:=wsMaximized;
 BorderStyle:=bsNone;
end;

Закрывает все на экране и панель тоже...
ЗЫ В свойствах панели задач - галочка стоит "Отоброжать поверх остальных окон"...
ЗЫЫ А нафик надо все закрывать своей формой?


eXPell   (2007-03-25 17:22:00) [13]

Это попробуй:)
r : TRect;
            begin
            SystemParametersInfo(SPI_GETWORKAREA, 0,@r,0);
form1.Top:=r.Top;
              Left:=r.Left;
              height:=r.Bottom;
              form1.Width:=r.Right;


и это оставь

> form1.formstyle:=fsStayonTop;
> form1.borderstyle:=bsNone;
> form1.windowstate:=wsMaximized;


tar   (2007-03-25 16:51:00) [14]

Так короче:

Formcreate:

form1.height:=screen.height;
form1.width:=screen.width;

form1.formstyle:=fsStayonTop;
form1.borderstyle:=bsNone;
form1.windowstate:=wsMaximized;

...и всё напрасно:((


tar   (2007-03-25 16:46:00) [15]

Да я так и делал (определял размеры экрана и приравнивал к ним свою форму), но ничего не выходит, наглая панель задач всё равно была поверх формы.


Rial   (2007-03-25 16:46:00) [16]

BorderStyle:=bsNone;


aht   (2007-03-25 16:35:00) [17]

ну, как я понимаю, необходимо определить размеры экрана (в зависимости от установленного разрешения) и задать ширину и высоту формы. Вот как узнать разрешение, не скажу - надо хелп смотреть, 100-пудово в shellapi должно быть...


tar   (2007-03-25 16:32:00) [18]

Мне действительно нужно форма закрывающая во весь экран, пожалуйста подскажите как это осуществить.


Desdechado   (2007-03-25 16:29:00) [19]

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


Наверх

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