|
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
|
|||||||||||
Удаление кнопки при нажатии на нее08.01.2013, 15:11. Показов 6228. Ответов 35
Метки нет (Все метки)
В блоке WM_CREATE создаю кнопку:
0
|
|||||||||||
| 08.01.2013, 15:11 | |
|
Ответы с готовыми решениями:
35
При нажатии правой кнопки мыши на форме с нее удаляются все кнопки При нажатии правой кнопки мыши на форме с нее удаляются все кнопки
|
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,123
|
||||||
| 06.10.2020, 13:58 | ||||||
|
Не достаточно кода для анализа.
Иногда гораздо проще найти проблему с помощью отладчика, чем пытаться вычислить её аналитически глядя в код, тем более в псевдо код лишь части программы. А что есть в стеке вызовов на момент краша? Возможно вы позже пытаетесь что-то сделать со своим комбобоксом, который уже удалили. Попробуйте обнулить хендл окна сразу после его удаления, это не исправит ошибки, но возможно результат выполнения измениться и появится больше информации для размышления. Добавлено через 31 минуту Мне удалось повторить падение у себя. Возможно, я понял в чём дело. Нельзя удалить контрол внутри обработчика его сообщения. Следом за CBN_SELCHANGE, контрол посылает ещё ряд сообщений. Уничтожая окно мы рушим его внутренности и при попытке отправки очередных сообщений происходит развал. Можно обойти это отложенным удалением контрола. Например, отправить самому себе с помощью post сообщение. Сообщение помещается в конец очереди и будет выполнено после всех оставшихся операций контрола. Кусочек кода, который иллюстрирует предложенный механизм отложенного удаления:
1
|
||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 06.10.2020, 15:06 | |
|
1
|
|
|
фрилансер
6479 / 5702 / 1132
Регистрация: 11.10.2019
Сообщений: 15,188
|
||||||
| 06.10.2020, 15:10 | ||||||
|
как говорится - вместо тысячи слов
1
|
||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 06.10.2020, 15:18 | |
|
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||||||||||||
| 06.10.2020, 18:00 | ||||||||||||
|
Не
Добавлено через 3 минуты
Добавлено через 44 секунды И все! ![]() Добавлено через 56 секунд Аналогично можно и "воскресить" нужный контрол:
1
|
||||||||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 06.10.2020, 18:38 | ||
![]() Более того, когда кнопку нужно удалить, то те кнопки, которые созданы после этой удаленной кнопки - их положение нужно сместить на то место откуда удалилась кнопка. Может конфликтов не будет в случае с сворачиванием, а вдруг и будет ? Зачем проверить, если можно уничтожить ?
0
|
||
|
фрилансер
6479 / 5702 / 1132
Регистрация: 11.10.2019
Сообщений: 15,188
|
|||
| 06.10.2020, 18:43 | |||
|
я ещё с натяжкой понимаю это в MFC, если вдруг захотелось магии, чёрт с ним, бывает такое. но добровольный мазохизм - это я не понимаю!
1
|
|||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||
| 06.10.2020, 18:45 | |||
|
0
|
|||
|
фрилансер
6479 / 5702 / 1132
Регистрация: 11.10.2019
Сообщений: 15,188
|
|||
| 06.10.2020, 18:53 | |||
|
1
|
|||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||||||
| 06.10.2020, 21:23 | |||||||
Если окно уничтожено, как это может быть.
0
|
|||||||
|
фрилансер
6479 / 5702 / 1132
Регистрация: 11.10.2019
Сообщений: 15,188
|
|
| 06.10.2020, 21:27 | |
|
Optimus11, GetLastError после вызова GetWindowRect вернёт ошибку. Да и сам GetWindowRect вернёт 0, наверное
1
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 06.10.2020, 21:29 | ||
|
0
|
||
|
фрилансер
6479 / 5702 / 1132
Регистрация: 11.10.2019
Сообщений: 15,188
|
|
| 06.10.2020, 21:43 | |
|
Optimus11, а, после WM_CLOSE то? Ну таки да, окно ещё живое, его просто "закрыли". После WM_DESTROY будут возвращаться ошибки
Добавлено через 34 секунды Spy++ в помощь, он покажет текущую иерархию окон
1
|
|
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,123
|
||||||||||||
| 06.10.2020, 21:57 | ||||||||||||
|
PostMessage поставил сообщение в очередь и вернул управление обратно. Обработка будет позже, на то оно и отложенное удаление. Или я не понимаю, что именно вы делаете и где проверяете.
1
|
||||||||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 06.10.2020, 22:24 | ||
|
1
|
||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|||
| 07.10.2020, 11:04 | |||
|
Короче, это альтернатива удалению. Делайте, как Вам хочется... Добавлено через 6 минут ![]() А, возможно, еще и проанализировать о каком контроле(ах) идет речь... Оно вроде и несложно, но все же.
1
|
|||
| 07.10.2020, 11:04 | |
|
Помогаю со студенческими работами здесь
36
Перемещение кнопки при нажатии на неё Изменение координат кнопки при нажатии на нее
Как изменить цвет кнопки при нажатии на нее? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|