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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 17:19   #1
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
Вопрос Чтобы приложение не уходило за пределы моей формы

Всем привет.

Вообщем та весь вопрос в названии темы. У меня есть форма
Код:
  frmMain.BorderStyle:=bsNone;
  frmMain.WindowState:=wsMaximized;
И с этой формы я запускаю какое нибудь приложение, нужно чтобы по клику на мою форму это приложение не уходило за мою форму. Заранее спасибо за любую помощь
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли

Последний раз редактировалось Marsel737; 25.01.2010 в 17:22.
Marsel737 вне форума Ответить с цитированием
Старый 25.01.2010, 17:38   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Как вы себе это представляете ?
Сделайте "по клику на мою форму" SendToBack...
И что это будет ?

Последний раз редактировалось mihali4; 25.01.2010 в 17:40.
mihali4 вне форума Ответить с цитированием
Старый 25.01.2010, 17:46   #3
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mihali4, не помогло, может вы нитак поняли, мне нужно чтоб приложение запущенное через
Код:
WinExec(...);
было всегда поверх моей формы
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 25.01.2010, 17:55   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну вот, пожалуйста, поверх:
Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
ShellExecute(Handle, nil, 'c:\windows', nil, nil, SW_SHOW);
SendToBack;
end;
Что значит "было всегда поверх моей формы" ?
То есть, чтобы до вашей формы нельзя было добраться, пока работает запущенное приложение ?
Тогда запускайте с ожиданием...

А как состыковать две фразы:
"было всегда поверх моей формы" и "Чтобы приложение не уходило за пределы моей формы" ?
Это же совершенно разные вещи...

Последний раз редактировалось mihali4; 25.01.2010 в 17:57.
mihali4 вне форума Ответить с цитированием
Старый 25.01.2010, 18:00   #5
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Да нет, просто форма на всё окно, даже панели задач не видно и нужно чтобы при клике по моей форме постороннее приложение не уходило за мою форму.

И ещё, что нужно в uses дописать, чтобы тот код что вы привели работал?
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 25.01.2010, 19:30   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Нужно подцепить ShellAPI
mihali4 вне форума Ответить с цитированием
Старый 26.01.2010, 18:43   #7
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mihali4, вообщем этот код тоже не помог. Попробую объяснить сначала. У меня есть форма без рамки и на весь экран. По клику на кнопку я запускаю приложение. Это приложение находится поверх моей формы. А вот если я кликну по своей форме, то приложение исчезает(уходит за мою форму). А мне нужно чтоб это приложение всегда было поверх моей формы.
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 26.01.2010, 19:12   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А-а-а... Ну тогда так:
Код:
procedure TForm1.FormPaint(Sender: TObject);
begin
SendToBack;
end;
mihali4 вне форума Ответить с цитированием
Старый 26.01.2010, 19:43   #9
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Надо что бы форма ставала не активной ?
Код:
procedure RunAndWait(const FileName: string);
var
 St: Tstartupinfo;
 Pi: Tprocessinformation;
begin
 FillChar(St, SizeOf(St), 0);
 Createprocess(0, PChar(FileName), 0, 0, False, 0, 0, 0, St, Pi);
 WaitforSingleObject(Pi.hProcess, INFINITE);
end;
uberchel вне форума Ответить с цитированием
Старый 26.01.2010, 21:15   #10
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mihali4, спс, записал

Код:
SendToBack;
в OnClick формы.

uberchel, это не совсем то, что нужно
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сделать монохромным только пространство вокруг моей формы. tft701 Помощь студентам 8 02.12.2009 14:47
приложение без формы, событие при завершении ERASERROR Общие вопросы Delphi 10 22.02.2008 14:10
Как сделать чтобы динамически созданные объекты оставались после закрытия формы? AHAPXUCT2007 Общие вопросы Delphi 7 28.09.2007 08:46
Приложение без формы Wiggle Общие вопросы Delphi 12 18.04.2007 20:20
Скажите как сделать так, чтобы размер формы оставался фиксированным? Faramund Помощь студентам 2 20.03.2007 20:14