динамическое создание элментов управления с помощью Create
От: Pashtetx  
Дата: 12.07.08 15:30
Оценка:
Приветствую всех.
Возник ряд вопросов, на которые я здесь и в интернете ответа найти не смог.
Проблема заключается в следующем:
Когда я пытаюсь создать новый элемент управления в своём модальном диалоговом окне,
с помощью функции Create или CreateEx, я получаю ошибку о том, что pParent равен нулю и
функция не может создать элемент управления.
П.С. Использую функцию в конструкторе моего класса диалога.
Не удача связана с моим малознанием, либо я что-то упустил из виду?
Re: динамическое создание элментов управления с помощью Crea
От: Stormblast http://www.myspace.com/stormblastblack
Дата: 12.07.08 18:03
Оценка:
Здравствуйте, Pashtetx, Вы писали:

Возможно рано создаешь контролы, pParent ещё не создан.
Re: динамическое создание элментов управления с помощью Crea
От: goto Россия  
Дата: 12.07.08 18:14
Оценка:
В OnInitDialog() (парента) лучше создавать.
Re: динамическое создание элментов управления с помощью Crea
От: Carc Россия http://www.amlpages.com/home.php
Дата: 12.07.08 22:15
Оценка:
> с помощью функции Create или CreateEx, я получаю ошибку о том, что pParent равен нулю и
> функция не может создать элемент управления.
> П.С. Использую функцию в конструкторе моего класса диалога.
> Не удача связана с моим малознанием, либо я что-то упустил из виду?
Создавать надо в OnInitDialog когда фактически есть окно диалога. В конструкторе класса никакого диалога еще не создано.
Posted via RSDN NNTP Server 2.1 beta
Aml Pages Home
Re[2]: динамическое создание элментов управления с помощью C
От: Pashtetx  
Дата: 03.08.08 17:00
Оценка:
Здравствуйте, Carc, Вы писали:

>> с помощью функции Create или CreateEx, я получаю ошибку о том, что pParent равен нулю и

>> функция не может создать элемент управления.
>> П.С. Использую функцию в конструкторе моего класса диалога.
>> Не удача связана с моим малознанием, либо я что-то упустил из виду?
C>Создавать надо в OnInitDialog когда фактически есть окно диалога. В конструкторе класса никакого диалога еще не создано.

--------------------------------------------------------------------------------------------------------------------------

Попробывал в OnInitDialog. Всё проходит без ошибок но вот кнопка просто не отображает и всё.

m_MyButton.Create(_T("New Button"), WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON, CRect(20,20, 140, 40), this->GetParent(), 4700);
Да кстати Create возвращает ноль.
Re[3]: динамическое создание элментов управления с помощью C
От: Carc Россия http://www.amlpages.com/home.php
Дата: 03.08.08 17:12
Оценка:
P>Попробывал в OnInitDialog. Всё проходит без ошибок но вот кнопка просто не отображает и всё.

P>m_MyButton.Create(_T("New Button"), WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON, CRect(20,20, 140, 40), this->GetParent(), 4700);

P>Да кстати Create возвращает ноль.
m_MyButton.Create(_T("New Button"), WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON, CRect(20,20, 140, 40), this/*GetParent()  - лишнее->GetParent()*/, 4700);


Родительским окном будет сам диалог, на что и указывает this, this->GetParent будет указывать на родителя уже самого диалога (которого скорее всего то и вовсе нету).
Зачем GetParent() то? Просто this нужно указать
Aml Pages Home
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.