Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Определить класс имея только HWND


Автор: SeregaLBN 24.10.2003, 14:14
Применительно к MFC. Имею дискриптор окна HWND. Как из него получить экземпляр класса?

Автор: Ars 24.10.2003, 14:28
Имя класса окна - GetClassName, если тебе это нужно.

Автор: RAN 25.10.2003, 08:29
Указатель на CWnd не получишь. Обратной связи нет. Только перебором всех возможных указателей на CWnd и сравнением HWND

Автор: DENNN 25.10.2003, 13:04
Цитата
Указатель на CWnd не получишь. Обратной связи нет.

Я добавлю для полной ясности:
HWND - это объект виндов, а CWnd - всего лишь класс из библиотеки MFC (так называемый класс-обертка). Для ОС такого объекта как CWnd просто не существует. smile.gif

Автор: SeregaLBN 27.10.2003, 10:51
Всё горазда проще - мне помогло:
static CWnd* PASCAL CWnd::FromHandle(HWND hWnd)

Везвращает указатель на существующий класс или если это окно вин апишное создаст временный новый.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)