|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|||||||||||||||||
Необработанное исключение по адресу21.03.2023, 16:46. Показов 6327. Ответов 50
Метки нет (Все метки)
Здравствуйте! Мне нужно сделать следующее: На диалоговой панели расположить временное окно. В центре этого окна нарисовать мишень из 10 полей и в каждом поле вывести его значение (от 1 до 10). Поля выделять различными цветами, выбранными с помощью стандартной диалоговой панели выбора цвета.
Я решил делать так: Создать шаблон диалоговой панели в него встроить дочернее окно(хотя по условию нужно временное, возможно, это ошибка), далее в функции окна рисовать мишень и по клику левой клавиши мыши, если этот клик попадает в одно из полей мишени, должна запуститься стандартная диалоговая панель выбора цвета, в которой я выбираю цвет и этим цветом окрашивается выбранное поле. Но при запуске стандартной диалоговая панель выбора цвета вылетает ошибка, причём ошибка указывает на функцию DialogBoxIndirect(), ошибка такая:
Код: CreateDlg
WndProc,DlgProc
PopProc
0
|
|||||||||||||||||
| 21.03.2023, 16:46 | |
|
Ответы с готовыми решениями:
50
Необработанное исключение по адресу на х86, на х64 работает норм Необработанное исключение и тд Необработанное исключение |
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
|
| 22.03.2023, 06:03 | |
|
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|||||||
| 23.03.2023, 04:58 [ТС] | |||||||
|
Ex6_10.rar При запуске диалогового окна вижу такую картину. Хотя указываю цвета по умолчанию:
0
|
|||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|
| 23.03.2023, 20:59 [ТС] | |
|
Алексей1153, Ну и, теперь что не нравится? Всё, что просили, прикрепил.
0
|
|
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
|
| 23.03.2023, 21:02 | |
|
Liss29, сделай ZIP, завтра гляну
Или кто-то уже глянет
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|||||||||||||||||
| 23.03.2023, 21:22 [ТС] | |||||||||||||||||
0
|
|||||||||||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|
| 23.03.2023, 21:25 [ТС] | |
|
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|
| 23.03.2023, 21:35 [ТС] | |
|
Хотя, если COLOR_WINDOW = 5, то, по сути - это чёрный цвет, если выбрать любое табличное значение цвета COLOR_... и создать с ним кисть, то, получается, цвет этой кисти будет чёрным.
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|
| 23.03.2023, 22:32 [ТС] | |
|
По сути, то, что требовалось я реализовал, но есть одно но, скорее эстетическое замечание, когда цвет выбран и область мишени закрашена выбранным цветом, цифры 8, 9 в их пустых местах цвет остаётся белым, хотя режим фона установлен как TRANSPARENT, как сделать так, чтобы отверстия-пустые места были того же цвета т.е. цвета, которым закрашена данная область мишени.
0
|
|
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
||
| 24.03.2023, 08:38 | ||
|
Добавлено через 13 минут SetBkMode(hdc, TRANSPARENT); - это работает, просто ты после вывода текста заливаешь область ExtFloodFill , вот и остаются карманы. Текст надо выводить поверх всегои ещё момент - чтобы не ковыряться с восстановлением старых объектов SelectObject(hdc, hOldBrush);, используй SaveDC / RestoreDC
1
|
||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
||||||||
| 24.03.2023, 21:34 [ТС] | ||||||||
0
|
||||||||
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
||||||||
| 24.03.2023, 21:49 | ||||||||
полагаю, SaveDc/RestoreDC в данном случае можно даже за цикл вынести (лямбду тоже). Но это нужно уточнить ![]() Добавлено через 2 минуты лямбду я добавил для гарантии вызова RestoreDC
0
|
||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
||||
| 24.03.2023, 22:20 [ТС] | ||||
![]()
0
|
||||
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
|||
| 24.03.2023, 22:23 | |||
|
Liss29, CreateSolidBrush принимает аргументом тип COLORREF, а не индекс системного цвета
![]()
0
|
|||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
||||
| 24.03.2023, 22:30 [ТС] | ||||
|
Думаю, я понял SaveDC() перед изменением контекста устройства, а восстанавливаем, после всех манипуляций с контекстом устройства, только, особой выгоды не вижу, ну одна переменная устраняется, я про свой случай, ну хорошо четыре локальные переменные устраняются, разве это так ощутимо...
Добавлено через 6 минут ![]()
0
|
||||
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
||||
| 24.03.2023, 22:35 | ||||
|
Добавлено через 30 секунд Моё дело - предупредить, а там решай сам
0
|
||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|||||||||||
| 24.03.2023, 23:18 [ТС] | |||||||||||
|
Добавлено через 19 минут
0
|
|||||||||||
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
||||||||||||||||
| 25.03.2023, 08:39 | ||||||||||||||||
|
1) в строке 23 убрать SaveDC. 2) в строке 51 вызвать RestoreDC с индексом, который был получен из SaveDC в строке 7
ну, или, да
0
|
||||||||||||||||
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
||
| 25.03.2023, 08:46 | ||
|
0
|
||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,638
|
|||||
| 25.03.2023, 21:23 [ТС] | |||||
![]() Добавлено через 1 минуту
0
|
|||||
|
фрилансер
6500 / 5731 / 1134
Регистрация: 11.10.2019
Сообщений: 15,339
|
|
| 25.03.2023, 22:12 | |
|
0
|
|
| 25.03.2023, 22:12 | |
|
Необработанное исключение Необработанное исключение Необработанное исключение: Нарушение прав доступа при чтении Необработанное исключение. Нарушение прав доступа при чтении
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|