Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2009, 19:42   #1
nikz2
 
Регистрация: 01.10.2009
Сообщений: 5
По умолчанию Объект на объекте.

Приветствую. Я занимаюсь разработкой небольшой игры. Суть в том, что это игра по типу настольной, но реализованной на компе. Есть поля, есть фишки перемещающиеся по этим полям. Пишу на MFC. Разработал прозрачные кнопки и все дела. Проблема в том, что моя прозрачная кнопка-фишка отрисовывается на диалоге под кнопками полей. Я решил эту проблему использованием внутреннего прозрачного диалога натянутого на поле по которому перемещается кнопка. То есть на главном окне находятся поля, на дочернем (которое располагается точно на полях) располагается фишка. Всё работало, НО... в ОнИнитДиалоге я прописывал:

MarineDlg.Create(IDD_MARINEDIALOG,t his);
theApp.CreateLvl(this, STARTPIXELX, STARTPIXELY, FIELDSIZE);

и всё было тип-топ. На энной стадии разработки выяснилось, что по внутренним соображениям диалог необходимо создавать после создания уровня то есть:

theApp.CreateLvl(this, STARTPIXELX, STARTPIXELY, FIELDSIZE);
MarineDlg.Create(IDD_MARINEDIALOG,t his);

и снова возникла та же проблема. Дочерний диалог отображается под кнопками полей.

Кто сталкивался с подобными проблемами? Какой существует правильный метод решения? Как задать порядок отображения на форме объектов??
nikz2 вне форума Ответить с цитированием
Старый 03.10.2009, 23:55   #2
nikz2
 
Регистрация: 01.10.2009
Сообщений: 5
По умолчанию Решение.

Я нашел таки решение. Функция SetWindowPos применяемая к нужным объектам. Есть одно небольшое но... Несмотря на то, что при криэйте мы задаем параметры (pParentWindow,WS_CHILD) это нифига не значит. Нужно обязательно после этого сделать SetParent(pParentWindow) а уже после этого вызывать сетвиндоупос.. и всё пучком.
nikz2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мышь на объекте doniyor Общие вопросы Delphi 4 03.07.2009 12:27
Вопрос о функциональном объекте less в stl Познающий Помощь студентам 0 01.06.2009 11:14
Наличие указателя в объекте Edit El Fierro Общие вопросы Delphi 14 15.03.2009 13:47
Можно ли сделать счётчик в объекте document?? fclmhooligan JavaScript, Ajax 2 17.02.2008 22:08
не сортируются данные в объекте TDBQLocateGrid unwanted БД в Delphi 2 26.07.2007 13:32