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

Вниз

Как заставить форму стоять позади всех окон ?   Найти похожие ветки 

 
Mashinist   (2002-06-16 23:31) [0]

Подскажите, как заставить форму оставаться позади всех окон, даже если на ней будут происходить какие-то события (нажатие кнопки, ввод текста, etc.)


 
Mashinist   (2002-06-17 22:12) [1]

А всё-таки, кто-нибудь поможет ?
Ну пожалуйста !


 
Mashinist   (2002-06-17 22:34) [2]

Ну !?


 
lipskiy   (2002-06-18 01:00) [3]

В порядке бреда - SendToBack не спасет?


 
Mashinist   (2002-06-18 09:08) [4]

И кого мне туда отсылать ?


 
Игорь Шевченко   (2002-06-18 09:35) [5]

SetWindowPos(YouForm.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE)


 
GrEG   (2002-06-18 09:44) [6]

Бред, но работающий. Всем остальным окнам установи в ExStyle WS_EX_TOPMOST (Работает только через фукнцию SetWindowPos). Тогда все окна, кроме твоего, будут "поверх всех". Между ними будет как обычно работать Z-ордер, твое же окно все время будет позади всех.
То что написал - мрак, не спорю, но это первое, что пришло в голову. Боюсь, в этом случае не все программы с окнами "поверх всех" будут выглядеть так, как задумывались (в частности - Аська с ее "плавающим окном").


 
Mashinist   (2002-06-19 22:22) [7]

Видимо, я недостаточно ясно выразился.
Я говорю не про формы в приложении, а о самом приложении.
То есть, чтобы приложение находилось позади всех приложений, запущенных в системе.
Или я не о том ?


 
Cobalt   (2002-06-20 02:02) [8]

"- А что ты имеешь в виду под словом Рэп или Йо? (в смысле - Приложение)
- Ну, Дэцл.
- Аааааааааааа!!!!"

;))
С уважением, Cobalt.


 
Mashinist   (2002-06-20 09:52) [9]

В смысле прога. Yo !


 
Игорь Шевченко   (2002-06-20 09:55) [10]

SetWindowPos не помогает ?


 
lipskiy   (2002-06-20 11:22) [11]

Form1.SendToBack - не то?


 
Mashinist   (2002-06-20 21:27) [12]

>Игорь Шевченко
SetWindowPos(YouForm.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE)

В порядке ликбеза: что такое YouForm.Handle ?


 
VID   (2002-06-20 23:51) [13]


> Mashinist © (20.06.02 21:27)
> >Игорь Шевченко
> SetWindowPos(YouForm.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE
> OR SWP_NOSIZE)
>
> В порядке ликбеза: что такое YouForm.Handle ?


В порядке ликбеза, неплохо бы знать англ яз :)
<Твоя_форма.Handle>

TO Lipskiy: Всё-таки SetWindowPos вне конкуренции...


 
Юрий Зотов   (2002-06-21 01:52) [14]

> Подскажите, как заставить форму оставаться позади всех окон,
> даже если на ней будут происходить какие-то события (нажатие кнопки, ввод текста, etc.)

Если форма (приложение) должна быть ВСЕГДА позади других, то, очевидно, такую форму нужно просто спрятать (или сделать вовсе безоконное приложение). Потому что незачем засорять экран такими формами.

Передачу клавиатуры в него можно реализовать через глобальный хук. Но крайне интересно другое - что же Вы подразумеваете под словами "нажатие кнопки на форме, находящейся ПОЗАДИ других"?

Это как же такое может быть, простите?

А отсюда возникает другой вопрос - зачем все это? Складывается впечатление, что интерфейс будущей программы пока еще не очень ясен даже самому ее автору. Не подумать ли сначала об ЭТОМ? А уж потом о кнопках и окнах.


 
OlDemon   (2002-06-21 06:59) [15]

2 VID>

Вообще то, YouForm нельзя перевести как Твоя_Форма
Неплохо бы знать англ. язык (c) VID

Просьба, без флэйма. :-))


 
Mister M.   (2002-06-21 11:11) [16]

TO OldDemon: Вы правы (MISTER M = VID)
YouForm - это нечто неподобие ТыФорма...
Просто я в глубине души надеюсь что ув. Игорь Шевченко просто забыл набрать букву "r" после You... А я со всего разгону, взял и не обратил внимания на её отсутсвие...
Каюсь, виноват :)


 
Mister M.   (2002-06-21 11:23) [17]

Извиняюсь, TO OlDemon


 
Игорь Шевченко   (2002-06-21 11:54) [18]

Mister M. © (21.06.02 11:11)

Забыл буковку, каюсь :-) Торопился.

С уважением,


 
Mashinist   (2002-06-21 18:33) [19]

>Юрий Зотов
Вообще-то мне все предельно ясно с интерфейсом программы.
А как это может быть, я вскоре поделюсь с Вами, если все получится.


 
Mashinist   (2002-06-21 20:03) [20]

Игорь Шевченко © (18.06.02 09:35)
SetWindowPos помогает.
Спасибо !
Только вот почему-то OnFormCreate не дествует :-(


 
Song   (2002-06-21 21:56) [21]

>> Только вот почему-то OnFormCreate не дествует
Само собой, на этом событии ни форма не видна, ни очередь сообщений не запущена. Как минимум на onShow


 
Mashinist   (2002-06-22 07:34) [22]

>>Как минимум на onShow
Странно, но тоже не работает.


 
Song   (2002-06-22 09:09) [23]

Приведите полную onFormShow процедуру здесь


 
Mashinist   (2002-06-23 07:02) [24]

procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowPos(Form1.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE);
end;


 
Mashinist   (2002-06-23 07:06) [25]

А вот в onActivate работает прекрасно.



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

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

Наверх




Память: 0.49 MB
Время: 0.005 c
14-9992
Sergo
2002-06-03 15:35
2002.07.04
А из Пензы кто?


3-9731
skysat
2002-06-11 02:38
2002.07.04
Help


14-9972
Snake bite
2002-06-02 19:49
2002.07.04
Господа а в чем смысл жизни?


6-9958
КСА
2002-04-23 05:46
2002.07.04
Очень интересная задачка


14-9963
ev
2002-06-01 14:17
2002.07.04
микроконтроллеры





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский