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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.04.2012, 16:14
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию объсните насчет исползование нескольких окон WinApi

Прошу разъяснить насчет использывания нескольких окон на WinApi. Гугл помог слабо.
1) Насчет закрытия окон, почему если я создаю первую форму, потом создаю вторую и пытаюсь закрыть первую методом DestroyWindow выключается все приложение.
2) Что правильнее использовать, CloseWindow или ShowWindow(...,SW_HIDE)
Ведь из MDSN:Функция CloseWindow свертывает (но не разрушает) определенное окно, тоже самое делает и вторая функция.
3) Вот у меня есть первая форма, на которой Edit куда вводить формулу и кнопка, по нажатию кнопки идет создание нового окна где отрисовывается график по формуле, старая формула скрывается процедурой ShowWindow.
Далее я хочу указать новый график, я по нажатию F1, скрываю форму с графиком и вывожу первую форму:
PHP код:
ShowWindow(вторая форма с графиком,SW_HIDE)
ShowWindow(первая форма,SW_Show
Далее я ввожу нужную функцию, нажимаю кнопку и происходит вызов функции создания окна с графиком, хотя фактически это окно уже создано но скрыто, ошибок никаких я не получаю. Совершаю ли я тут ошибку и нужно отслеживать создано ли окно, если не создано создавать, если создано то показывать или тут ошибки нет и можно оставить так.
Ответить с цитированием
  #2  
Старый 19.04.2012, 16:48
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

DestroyWindow разрушает окно, CloseWindow сворачивает (минимизирует) окно, ShowWindow(SW_HIDE) скрывает окно. если нужны оба графика, то можно оставить оба окна.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 19.04.2012, 17:03
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

ну по второму пункту для себя все уяснил, насчет первого я так понял что своим DestrotWindow вызываю WM_DESTROY и там происходит PostQuitMessage, где завершается работа программы, я прав?
А вот насчет третьего еще не понял, у меня в приложении 3-4 формы, есть смысл их держать постоянно существующими но скрытыми? тогда легче создать их разом в начале, как делает это VCL или же создавать и разрушать каждый раз.

Последний раз редактировалось Kingcss, 19.04.2012 в 17:07.
Ответить с цитированием
  #4  
Старый 19.04.2012, 17:10
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

Ответа не требуется, все для себя разъяснил сам поразмыслив над работой VCL, изначально делал неправильно, создавал формы при их вызове, хотя создавать их надо было при запуске программы. Спасибо за помощь
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter