C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 Здравствуйте, гость ( Вход | Регистрация )   Скачать форум | Поиск по Форуму | Участники | Помощь
 Поиск по:   сайтy   
   архиву форума   
  ОтветитьНовая темаНовый опрос
Окно поверх остальных окон, но
« предыдущая тема | следующая тема » Подписаться на тему | Отправить тему на E-mail | Распечатать тему
Chernov
Отправлено: 12.09.2006, 11:53 Цитировать


Ученик-кочегар


Группа: Участник
Сообщений: 13
Пользователь № 1867
Регистрация: 24.07.06



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

--------------------
После Дождя
 
Послать сообщение E-mail адрес  Top
olegenty
Отправлено: 12.09.2006, 12:06 Цитировать


Ветеран


Группа: Модератор
Сообщений: 2412
Пользователь № 507
Регистрация: 13.02.04



FormStyle = fsStayOnTop, только ни разу не делал таких окон в рамках Screen, исключительно в рамках Application

--------------------
Управлять можно лишь тем, что можно измерить.
Восточная мудрость.
 
Послать сообщение E-mail адрес ICQ  Top
AVC
Отправлено: 12.09.2006, 13:02 Цитировать


Ветеран


Группа: Модератор
Сообщений: 1583
Пользователь № 655
Регистрация: 19.05.04



А мне они и в рамках Application страшно мешают.
QUOTE

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

А в блокноте дальше печатаем на ощупь biggrin.gif
 
Послать сообщение E-mail адрес ICQ  Top
Chernov
Отправлено: 12.09.2006, 16:13 Цитировать


Ученик-кочегар


Группа: Участник
Сообщений: 13
Пользователь № 1867
Регистрация: 24.07.06



if(!::IsWindow(hWnd))
return FALSE;

DWORD dwUserInputTimeout;

::SystemParametersInfo( SPI_GETFOREGROUNDLOCKTIMEOUT, 0,
&dwUserInputTimeout, 0);
::SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, 0, 0);

::SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);

::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);

::SystemParametersInfo( SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
(LPVOID) dwUserInputTimeout, 0);
Вот я нашел где-то сам. Всем спасибо.

--------------------
После Дождя
 
Послать сообщение E-mail адрес  Top
aquanet sk
  Отправлено: 21.02.2007, 02:42 Цитировать


Станционный диспетчер


Группа: Участник
Сообщений: 87
Пользователь № 3668
Регистрация: 13.01.07



и куда этот код вставлять?

Попробовал вставить в разные обработчики событий формы Form2, эффекта нет.
 
Послать сообщение E-mail адрес  Top
Termi_uc
Отправлено: 21.02.2007, 16:53 Цитировать


Дежурный стрелочник


Группа: Участник
Сообщений: 61
Пользователь № 4206
Регистрация: 09.02.07



QUOTE (aquanet sk @ 21.02.2007, 02:42)
и куда этот код вставлять?

Попробовал вставить в разные обработчики событий формы Form2, эффекта нет.

Пиши
CODE
HWND hWnd = Handle;
if(!::IsWindow(hWnd))return;

::SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);


--------------------
- Где точка самореализации, мысль ясна, отвечайте. Но по очереди и незабывай собачку п.
- Вечность вычисляет массивы и информация кодируется в плоти, как может одна капелька разрушеть все, где д., Старина д.?
 
Послать сообщение E-mail адрес  Top
aquanet sk
Отправлено: 10.03.2007, 02:52 Цитировать


Станционный диспетчер


Группа: Участник
Сообщений: 87
Пользователь № 3668
Регистрация: 13.01.07



Вставил в OnCreate у Form2, да она поверх Form1 моего приложения, но не поверх окон любого другого приложения, в том числе и "блокнотика".
 
Послать сообщение E-mail адрес  Top
6 ответов с: 12.09.2006, 11:53 Подписаться на тему | Отправить тему на E-mail | Распечатать тему

Back to Вопросы программирования в C++Builder
ОтветитьНовая темаНовый опрос