|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как свернуть главное окно не сворачивая второстепенных?
Проблема одна!
Искал везде и FAQ и книги перерыл, не где не могу найти! Короче говоря, мне надо заделать так чтобы когда я создал форму с главного окна. И когда я захочу свернуть главное окно, но чтобы не сворачивалось то окно, которое я создал? Вот мой код представлен ниже: |Процедура Сlick---------------------------- Var NewF:TPWhite //Название формы PWhite begin NewF:=TPWhite.Create(Application); NewF.Label1.Caption:=Form1.EditCaptionList.Text; NewF.Show; |
#2
|
||||
|
||||
надо заделать так чтобы когда я создал форму с главного окна, то что?
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
|
||||
|
||||
Нет не-то, спасибо конечно!
А мне надо чтоб при сворачивании главного окна, чтоб созданное окно оставалось на месте. |
#4
|
||||
|
||||
Вот и подумай, как это сделать, имея код для обратной задачи (Сворачивание прораммы при сворачивании созданного окна)
THE CRACKER IS OUT THERE |
#5
|
||||
|
||||
Не работает, все сделал как ты велел!
Тоже самое когда сворачиваю главное окно, сворачивается и созданное!?? |
#6
|
||||
|
||||
Вопрос такой что: У меня есть главная форма и по щелчку по кнопе на главной форме, создается новая форма так вот , теперь надо чтоб при сворачивании главного окна то окно которое я создал оставалось намесите
Кто знает эффективный способ? !!!!!!!!!!!ПОМОГИТЕ ПОЖАЙЛУСТО!!!!!!!!!!!!!!!!!!!!! |
#7
|
||||
|
||||
Тебе же ответили. Просто нужно изменить одну строку. Даже не одну, а меньше.
|
#8
|
||||
|
||||
Мдя, Wipahacker, эт я погорячился, не получится так, как я сказал, ток если
If message.CmdType = SC_MINIMIZE then ShowWindow(Handle,SW_HIDE) То есть, при сворацивании главного окна ловить событие сворачивания и вместо сворачивания, скрывать его, а потом из второго можно его обратно показывать, но эжто косяково как-то, в общем я был не прав =) THE CRACKER IS OUT THERE |
#9
|
||||
|
||||
4kusNick
Говорю кратко, мне нужно чтоб форма была не зависимой от главной формы! Каким образом это сделать? |
#10
|
||||
|
||||
Можно вторую форму запускать в отдельном процессе (второй exe'шник сделать), но делать это не явно, например назвать второй файл не file2.exe, а file2.dat и еще можно воткнуть его в ресурсы первого файла (С первой формой)...
THE CRACKER IS OUT THERE |
#11
|
||||
|
||||
Вот, уже интересно!!!!
Насчет DAT !!! |
#12
|
||||
|
||||
4kusNick Знаешь как мне посоветовали ?
Этим самым вашим "второстепенным" окнам, выставьте в CreateParams Params.WndParent:=0; |
#13
|
||||
|
||||
Это не поможет, я так пробовал.
THE CRACKER IS OUT THERE |