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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 16:20   #1
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию Всегда на переднем плане

Подскажите, как сделать, чтобы форма была всегда на переднем плане?
Rapala вне форума Ответить с цитированием
Старый 21.04.2010, 16:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

FormStyle:=fsStayOnTop;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2010, 16:42   #3
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию

Можно так:
Код:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);
nXs вне форума Ответить с цитированием
Старый 21.04.2010, 16:50   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

А так лучше
SetWindowPos( Handle, HWND_TOPMOST, Left, Top, Width, Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE );
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 22.04.2010, 14:55   #5
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

Это работает, а как сделать чтобы не сворачивалось окно по Win+D?
Rapala вне форума Ответить с цитированием
Старый 22.04.2010, 15:39   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

м.м.м Кинуть на форму TApplication и обрабатывать его событие OnMinimize...
(Первое что приходит в голову)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.04.2010, 15:15   #7
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

Почему то не работает если использовать несколько форм. Как сделать чтоб работало на нескольких формах?

Проблема вот в чем: когда главная форма выделена, то нельзя свернуть, а когда дочерняя-можно.

Последний раз редактировалось Stilet; 28.04.2010 в 16:23.
Rapala вне форума Ответить с цитированием
Старый 28.04.2010, 16:26   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй для каждой формы проставь отдельный перехватчик сворачиваний:
Код:
  TForm1 = class(TForm)
  private
    { Private declarations }
    procedure wmm(var m:TWMSysCommand); message WM_SysCommand;
  public
    { Public declarations }
  end;
...
procedure TForm1.wmm(var m: TWMSysCommand);
begin
 if m.CmdType=SC_MINIMIZE then m.Msg:=0;
end;
Не пробовал, но думаю стоит порыть в этом направлении
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.04.2010, 16:34   #9
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

Не помогло...
Rapala вне форума Ответить с цитированием
Старый 28.04.2010, 16:49   #10
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Пробуй :
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Self.FormStyle := fsStayOnTop;
  Self.BorderIcons := Form1.BorderIcons - [biMinimize];
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
немного доработать код, в плане вывода самого часто употребляемого слова! Ker_33rus Общие вопросы C/C++ 6 17.02.2010 21:16
Решаю любые проблемы. В плане программирования. Vedrus Фриланс 1 31.05.2008 04:57
Всегда позади и всегда впереди в одном приложении Legat Win Api 4 27.10.2007 15:48