Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cоздание элементов управления, CWnd* pParentWnd где взять? 
:(
    Опции темы
fear
  Дата 21.4.2006, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Для создания элементов управления, требуется указатель на родительское окно (CWnd* pParentWnd).
Где собственно взять этот самый указатель для SDI и диалоговых приложений. 
PM MAIL   Вверх
Earnest
Дата 21.4.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Элементы управления обычно создают не в воздухе, а коде родительского окна, того же диалога. Вот он (this) и будет pParentWnd. 


--------------------
...
PM   Вверх
Orlan
Дата 21.4.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 10.6.2004
Где: Киев

Репутация: нет
Всего: 1



Поможет ::GetActiveWindow(), если нету парента под руками 
--------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов
PM MAIL   Вверх
fear
Дата 21.4.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Создал SDI приложение (без класса Document), изменил обработчик LButtonDown() в класса CChildView следующим способом:

Код

void CChildView::OnLButtonDown(UINT nFlags, CPoint point)
{
  CButton button;
  button.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 
                CRect(10,10,100,30), this, 1);

  
  CWnd::OnLButtonDown(nFlags, point);
}


После нажатия левой кнопки мыши, кнопка не создалась, в чём моя ошибка? 
PM MAIL   Вверх
Earnest
Дата 23.4.2006, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Вызови еще UpdateWindow. 


--------------------
...
PM   Вверх
threef
Дата 26.4.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 1
Всего: 10



Да конечно. Ты создаешь локальнубю переменную button - это и есть окно, изображающее кнопку. В конце функции твой обьект УДАЛЯЕТСЯ. Читай про глобальные и локальные переменные. 
PM MAIL   Вверх
fear
Дата 29.4.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Большое всем спасибо, разобрался. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1141 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.