---
title: "Управление окнами, создаваемыми прикладной библиотекой"
type: guide
api: [api7]
tags: [guide, api7, parent]
sources:
  - parent.html
---

*Создание прикладных библиотек  > Рекомендации по созданию прикладных библиотек *

Если в библиотеке при вызове диалога параметр parent передан как NULL, то возможна ситуация, когда диалог не санкционированно закроется. Для предотвращения подобных случаев параметру parent нужно задавать значение дескриптора главного окна КОМПАС. Значение дескриптора можно получить, используя функции GetHWindow или KompasObject::ksGetHWindow.
Для библиотек, написанных на Visual C++, которые имеют свой WinApp, нужно использовать:
CWnd parent;
parent.Attach((HWND)::GetHWindow());
.... работа с диалогом
parent.Detach();
//---
Для библиотек без WinApp можно использовать:
CWnd::FromHandlePermanent((HWND)::GetHWindow());
