|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
|||||||||||
Связать переменную с програмно созданным контролом21.02.2020, 00:15. Показов 890. Ответов 18
Метки нет (Все метки)
Всем привет. Вот такая задачка возникла.
Необходимо связать переменную с CEdit для обмена данными введенными пользователем. Если все создавать через Визард то отлично работает. Однако я создаю контрол програмно.
В закомментированной строчке я пытаюсь сделать то же для програмно созданного контрола. Однако получаю исключение. Как правильно связать переменную с контролом?
0
|
|||||||||||
| 21.02.2020, 00:15 | |
|
Ответы с готовыми решениями:
18
Как работать с динамически созданным контролом
|
|
|
|
| 21.02.2020, 17:22 | |
|
Чего именно вы хотите добиться? Почему
DWORD? Сколько у вас переменных и сколько у вас динамических CEdit?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 21.02.2020, 17:32 | ||
|
0
|
||
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
||||||
| 21.02.2020, 18:23 [ТС] | ||||||
|
oleg-m1973, Контрол создаю в OnInitDialog().
GoodWeather, Мне нужно получить от пользователя числовые значения. Для дальнейшей работы. Одна переменная и один контрол. Можно конечно считать из эдита текст и преобразовать его в число, но хотелось бы как то более корректно это сделать.
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 22.02.2020, 15:37 | |||||||
|
Попробуй создать контрол до его вызова
0
|
|||||||
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
|
| 02.03.2020, 22:37 [ТС] | |
|
oleg-m1973, Вы знаете в простейшем случае это работает.
Но у меня на главном окне есть таб контрол. Для него я создаю диалоговые окна с дочерними классами произведенными от основного диалога. В каждом порожденном классе виззард генерирует свой метод DoDataExchange. Я пытаюсь в дочернем окне програмно создать контрол и добавить переменную в его DoDataExchange. И получаю исключение. Пытался создавать его непосредственно в OnInitDialog а после создания помещать строчку CDialogEx::OnInitDialog();Но это не имеет никакого эффекта. Ошибка остается.
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.03.2020, 22:41 | |
|
0
|
|
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
|
| 02.03.2020, 22:45 [ТС] | |
|
oleg-m1973, Нет. Я писал простейший пример. Я не ожидал что с одним окном это работает. А с дочерними нет.
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 02.03.2020, 22:50 | ||
|
В CTabCtrl страницы вроде наследуются от CDialog, и у них есть такой же OnInitDialog
0
|
||
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
|||||||
| 02.03.2020, 22:58 [ТС] | |||||||
|
В порожденных классах нет OnInitDialog.
Добавлено через 2 минуты Далее в OnInitDialog базового окна, как в примере выше я пытаюсь создать контрол.
0
|
|||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 02.03.2020, 23:02 | |||
|
Добавлено через 2 минуты DoDataExchange вызывается в CDialogEx::OnInitDialog();. Ты можешь тупо посмотреть это по исходникам, в поиске по всем файлам (я так и сделал). Просто создай свой контрол до этого вызова
0
|
|||
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
||
| 02.03.2020, 23:04 [ТС] | ||
|
Сам контрол пытаюсь создать в базовом OnInitDialog() и после создания поместить CDialogEx::OnInitDialog(); Но это не срабатывает. Но в случае если контрол на главном окне то ошибки нет.
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.03.2020, 23:06 | |
|
0
|
|
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
||||||
| 02.03.2020, 23:06 [ТС] | ||||||
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.03.2020, 23:06 | |
|
У каждого диалогового окна должны быть свои контролы
0
|
|
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
||
| 02.03.2020, 23:09 [ТС] | ||
|
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.03.2020, 23:11 | |
|
0
|
|
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
|||||||||||||
| 02.03.2020, 23:27 [ТС] | |||||||||||||
|
Добавлено через 37 секунд Добавлено через 7 минут В дочернем классе
0
|
|||||||||||||
|
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
|
||||||
| 03.03.2020, 10:36 [ТС] | ||||||
|
oleg-m1973, Вообщем я поэкспериментировал.
Вот так исключение пропадает.
Вот только как его правильно создать раньше ума не приложу.
0
|
||||||
| 03.03.2020, 10:36 | |
|
Помогаю со студенческими работами здесь
19
Обращение к програмно(не в дизайнере) созданным элементам Не удается связать DataTable с контролом reportviewer Как програмно связать таблицы Access? Связать переменную Как связать переменную? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|