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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2010, 23:06   #1
Thrust
Новичок
Джуниор
 
Регистрация: 11.07.2010
Сообщений: 2
По умолчанию Stay On Top второстепенной формы

Доброго времени суток.

Пишу программку, состоящую из нескольких форм. Одна из них (Form3) выполняет роль плавающего окошка в углу экрана. В свою очередь, главное окно сворачивается в трей по желанию пользователя.

Ставил для Form3 значение formstyle:=fsStayOnTop, но это не помогло. После экспериментов выяснил, что это работает только для главной формы.

Есть у кого идеи?
Thrust вне форума Ответить с цитированием
Старый 12.07.2010, 05:14   #2
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Сделай "главное" окно не главным, а "главное" - не показывай вообще.
igh0st вне форума Ответить с цитированием
Старый 12.07.2010, 21:03   #3
Thrust
Новичок
Джуниор
 
Регистрация: 11.07.2010
Сообщений: 2
По умолчанию

Это не вариант.

С этим разобрался, сделал через
Form3 := TForm3.CreateParented(GetDesktopWin dow);

Однако теперь эта форма имеет свою кнопку на панели задач, а убрать ее с помощью
ShowWindow(form3.Handle, sw_Hide);
нельзя, так как исчезает и сама форма
Thrust вне форума Ответить с цитированием
Старый 12.07.2010, 22:02   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от Thrust Посмотреть сообщение
Это не вариант.

С этим разобрался, сделал через
Form3 := TForm3.CreateParented(GetDesktopWin dow);

Однако теперь эта форма имеет свою кнопку на панели задач, а убрать ее с помощью
ShowWindow(form3.Handle, sw_Hide);
нельзя, так как исчезает и сама форма
Я в WinAPI не силен, но по-моему ShowWindow как раз задает видимость формы, а не кнопки на панели задач.

Может нужно ее отобразить прямо в видео буфер? Как сделать не знаю.
psycho-coder вне форума Ответить с цитированием
Старый 12.07.2010, 22:25   #5
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Или напиши форму полностью на WinAPI
psycho-coder вне форума Ответить с цитированием
Старый 12.07.2010, 22:45   #6
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вот держи.
Открыть форму:
PHP код:
procedure TForm1.Button1Click(SenderTObject);
begin
  Form2 
:= TForm2.Create(self);
  
Application.NormalizeTopMosts;
  
Form2.FormStyle := fsStayOnTop;
  
Form2.Show;
end
Закрыть форму:
PHP код:
procedure TForm2.Button1Click(SenderTObject);
begin
  Form2
.Close;
  
Application.RestoreTopMosts;
end
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
top menu и doctype xxLokixx JavaScript, Ajax 0 20.03.2010 08:42
Указать Left и Top для формы Dr.Badnezz Общие вопросы Delphi 4 09.11.2008 15:49
Always on Top Sergant Win Api 2 13.04.2007 01:09