2010-05-31 1 views
0

Я ищу способ указать родительское окно в файле * .rc.указать родительское окно в файле сценария ресурса Windows (*. Rc)

В файле * .rc содержится макет и элементы управления диалогового окна. Любой новый элемент управления, добавленный в него, автоматически станет дочерним окном самого диалога.

Но я хочу добавить пользовательское окно рисования в диалог и некоторые другие элементы управления, которые имеют это «пользовательское окно рисования» в качестве родительского окна, а не самого диалога.

Я знаю, что могу использовать :: CreateWindow (...) API для динамического создания окна в коде и указать пользовательское окно рисования в качестве родительского HWND. Но у нас уже есть макет детского управления в файле * .rc, я просто хочу их повторно использовать, не создавая HWND снова.

Спасибо,

William L.

+0

Вы не можете указать родительское окно в файле ресурсов. Какова цель пользовательского окна рисования? Возможно, вам не нужно, чтобы пользовательское окно рисования было установлено как родительский элемент элементов управления. –

ответ

0

Это не представляется возможным указать родительское окно для контроля, определенные в файле ресурсов. Все элементы управления в файле ресурсов имеют диалоговое окно, установленное в качестве родителя при создании диалога.

Вы можете попробовать выкатывает свой собственный диалог менеджер - Raymond Chen имеет 9 частей серии постов в блоге на нем (Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7, Part 8, Part 9) - но это может будьте чрезмерны для этой ситуации.

Какое ваше пользовательское окно ничьей делает?

+0

Спасибо! Кажется, в файле * .rc нет никакого способа сделать это. Мне нужно будет использовать :: SetParent (...) API для изменения родительского окна в методе init. – welemon

+0

Мне нужно предупредить, что некоторые элементы управления не ожидают, что они будут пересмотрены (см. Http://blogs.msdn.com/b/oldnewthing/archive/2010/03/16/9979112.aspx) –

Смежные вопросы