Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.07.2007, 23:43
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию Как свернуть главное окно не сворачивая второстепенных?

Проблема одна!
Искал везде и FAQ и книги перерыл, не где не могу найти!
Короче говоря, мне надо заделать так чтобы когда я создал форму с главного окна.
И когда я захочу свернуть главное окно, но чтобы не сворачивалось то окно, которое я создал?

Вот мой код представлен ниже:
|Процедура Сlick----------------------------
Var NewF:TPWhite //Название формы PWhite
begin
NewF:=TPWhite.Create(Application);
NewF.Label1.Caption:=Form1.EditCaptionList.Text;
NewF.Show;
Ответить с цитированием
  #2  
Старый 06.07.2007, 01:08
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

надо заделать так чтобы когда я создал форму с главного окна, то что?
1. Если форма утебя создана, в Design-mode, то добавь ее в Auto-create list (в настройках проекта) и вызывай из программы методом Show, чтобы иметь возможность манипулировать с родительским окном при открытом дочернем или ShowModal для отображения дочернего окна в модальном режиме (не давать доступ к родительскому окну).

2. На счет сворачивания - вот пример, обратный твоей задачей, если сумеешь сам его под свою задачу переделать - то можешь считать себя молодцом:

>> Сворачивает все приложение при сворачивании неглавного окна.
Обработчик сообщений. При попытке свернуть окно - сворачивает все приложение. Предназначен для неглавных немодальных окон.
Зависимости: Как у стандартной формы...

Код:
//Пишем в Private формы(неглавной);

Procedure WMSysCommand(var message: TWMSysCommand); message WM_SysCommand;

 

//Пишем в тексте программы:

Procedure TF_Shop.WMSysCommand(var message: TWMSysCommand);

begin

If message.CmdType = SC_MINIMIZE then Application.Minimize

Else Inherited;

End;
__________________
THE CRACKER IS OUT THERE

Последний раз редактировалось 4kusNick, 06.07.2007 в 06:39.
Ответить с цитированием
  #3  
Старый 06.07.2007, 09:49
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

Нет не-то, спасибо конечно!
А мне надо чтоб при сворачивании главного окна, чтоб созданное окно оставалось на месте.
Ответить с цитированием
  #4  
Старый 06.07.2007, 13:26
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Вот и подумай, как это сделать, имея код для обратной задачи (Сворачивание прораммы при сворачивании созданного окна)
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #5  
Старый 07.07.2007, 16:06
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

Не работает, все сделал как ты велел!
Тоже самое когда сворачиваю главное окно, сворачивается и созданное!??
Ответить с цитированием
  #6  
Старый 07.07.2007, 16:16
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

Вопрос такой что: У меня есть главная форма и по щелчку по кнопе на главной форме, создается новая форма так вот , теперь надо чтоб при сворачивании главного окна то окно которое я создал оставалось намесите

Кто знает эффективный способ? !!!!!!!!!!!ПОМОГИТЕ ПОЖАЙЛУСТО!!!!!!!!!!!!!!!!!!!!!
Ответить с цитированием
  #7  
Старый 07.07.2007, 16:44
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Тебе же ответили. Просто нужно изменить одну строку. Даже не одну, а меньше.
Ответить с цитированием
  #8  
Старый 07.07.2007, 17:14
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Мдя, Wipahacker, эт я погорячился, не получится так, как я сказал, ток если

If message.CmdType = SC_MINIMIZE then ShowWindow(Handle,SW_HIDE)

То есть, при сворацивании главного окна ловить событие сворачивания и вместо сворачивания, скрывать его, а потом из второго можно его обратно показывать, но эжто косяково как-то, в общем я был не прав =)
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #9  
Старый 07.07.2007, 19:00
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

4kusNick
Говорю кратко, мне нужно чтоб форма была не зависимой от главной формы!
Каким образом это сделать?
Ответить с цитированием
  #10  
Старый 07.07.2007, 21:39
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Можно вторую форму запускать в отдельном процессе (второй exe'шник сделать), но делать это не явно, например назвать второй файл не file2.exe, а file2.dat и еще можно воткнуть его в ресурсы первого файла (С первой формой)...
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #11  
Старый 08.07.2007, 13:22
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

Вот, уже интересно!!!!
Насчет DAT !!!
Ответить с цитированием
  #12  
Старый 08.07.2007, 13:44
Аватар для Wipahacker
Wipahacker Wipahacker вне форума
Начинающий
 
Регистрация: 01.06.2007
Адрес: ДОНЕЦК
Сообщения: 112
Репутация: 10
По умолчанию

4kusNick Знаешь как мне посоветовали ?
Этим самым вашим "второстепенным" окнам, выставьте в CreateParams
Params.WndParent:=0;
Ответить с цитированием
  #13  
Старый 08.07.2007, 15:19
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Это не поможет, я так пробовал.
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter