Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Вниз

Форма на весь экран   Найти похожие ветки 

 
MK   (2002-02-16 18:28) [0]

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


 
MK   (2002-02-16 18:54) [1]

Забыл уточнить... Форма должна "перекрыть" панель задач Windows и окна других прог, установленных поверх остальных.


 
LLL   (2002-02-16 19:52) [2]

FormStyle fsStayOnTop

procedure TForm1.FormCreate(Sender: TObject);
begin
Top:=0;
Left:=0;
Height:=Screen.Height;
Width:=Screen.Width;
end;


 
Yr2   (2002-02-16 20:55) [3]

еще проще: установить свойство формы WindowState:=wsMaximized;
см. также свойство Position


 
MK   (2002-02-16 21:49) [4]

К сожалению не работает ни то не другое. Нужно, чтобы форма была поверх панели задач Windows, поверх ВСЕХ окон всех приложений. Что-то слышал про SetWindowPos, но как и его ее использовать - не знаю.


 
panov (M)   (2002-02-16 22:16) [5]

Как вариант:
MainForm.Width := Screen.Width;
MainForm.Height := Screen.Height;

по таймеру выполнять:
SetWindowPos
SetActiveWindow
Application.Restore


 
MK   (2002-02-16 22:29) [6]

Этот "как вариант" как раз развернет форму на весь экран, но не накроет панель задач (это и требуется).


 
Набережных С.   (2002-02-16 22:39) [7]

SetWindowPos(Handle,HWND_TOPMOST,0,0,Screen.Width,Screen.Height,0);


BorderStyle:=bsNone.


 
MK   (2002-02-16 22:47) [8]

SetWindowPos поместил в OnCreate, в результате панель задач все таки осталась наверху - не пойму в чем дело...


 
Набережных С.   (2002-02-16 22:58) [9]

Попробуй "посадить" в OnShow.


 
MK   (2002-02-16 23:03) [10]

"Посадил" в OnShow - ничего... Буду дальше думать, наверно я достал всех уже...


 
Набережных С.   (2002-02-16 23:24) [11]

Проверь еще WindowState := wsNormal


 
panov (M)   (2002-02-16 23:26) [12]

>MK (16.02.02 22:29)
С чего это он не перекроет панель задач?


 
panov (M)   (2002-02-16 23:27) [13]

И проверь вот это пример:
SetWindowPos(Application.MainForm.Handle,HWND_TOPMOST,0,0,Screen.Width,Screen.Height,SWP_SHOWWINDOW);
SetActiveWindow(Application.MainForm.Handle);
Application.Restore;


 
Almaz   (2002-02-16 23:28) [14]

Попробуйте такой вариант:
Для формы устанавливаем:
BorderStyle := bsNone;
FormStyle := fsStayOnTop;


Затем в обработчике OnCreate пишем:
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState := wsMaximized;
end;


Получаем форму на весь экран и поверх всего, что можно.

Удачи.


 
Набережных С.   (2002-02-16 23:30) [15]

>Almaz © (16.02.02 23:28)

IMHO ничего не получаем.


 
Almaz   (2002-02-16 23:41) [16]

>Набережных С.
А вы проверьте сначала...


 
Набережных С.   (2002-02-16 23:50) [17]


> Almaz © (16.02.02 23:41)
> >Набережных С.
> А вы проверьте сначала...


Да не требуется - и так ясно. А Вы проверьте.


 
panov (M)   (2002-02-16 23:50) [18]

>Almaz © (16.02.02 23:41)
Могут быть и другие подобные формы... У других приложений...
В этом случае может и не получиться.


 
Набережных С.   (2002-02-16 23:57) [19]


> panov (M) (16.02.02 23:50)


Любая форма другого приложения может перекрыть такое окно.


 
panov (M)   (2002-02-17 00:04) [20]

>Набережных С. (16.02.02 23:57)
У меня эту форму никакая другая перкрыть не может.
К тому же выполняется ээтот ког в обработчике таймера...


 
Набережных С.   (2002-02-17 00:13) [21]

Иду пробовать


 
Almaz   (2002-02-17 00:14) [22]

>Набережных С. (16.02.02 23:50)
>Да не требуется - и так ясно. А Вы проверьте.
Слишком вы самоуверены. Потрудитесь все-таки сначала проверять, потом говорить.


 
Набережных С.   (2002-02-17 00:37) [23]

>Almaz ©
>panov (M)
Приношу извинения и посыпаю голову пеплом! Большой сюрприз для меня, надо будет разобраться.


 
Pat   (2002-02-17 00:55) [24]

Вроде работает:

procedure TForm1.FormCreate(Sender: TObject);
var Rect:TRect;
begin
borderstyle:=bsnone;
left:=0;
top:=0;
width:=screen.Width;
height:=screen.Height;
GetWindowRect(handle,Rect);
SetWindowPos(Handle,HWND_TOPMOST,Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top, SWP_SHOWWINDOW);
end;



 
LLL   (2002-02-17 14:49) [25]

Странно, я проверял свой вариант.
Работает.
А вот в след. не перекывается панель задач.


 
MK   (2002-02-17 18:12) [26]

>Pat Спасибо! Работает!!!
Всем спасибо, кто отозвался!


 
Almas   (2002-02-19 06:05) [27]

а что если воспользоваться своиством формы align:=alClient



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.007 c
3-19102
Siberia
2002-02-11 11:45
2002.03.07
Подскажите где взять компоненты для печати


1-19141
Sergy
2002-02-18 12:15
2002.03.07
Определить подстроку в строке


3-19107
Hermit
2002-02-05 15:49
2002.03.07
TQuery.Locate


1-19154
Юра
2002-02-21 11:04
2002.03.07
Нужна помощь по системному вызову


4-19395
JS
2002-01-06 00:56
2002.03.07
Загрузка DLL в чужой процесс





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский