|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||||||||||||||
Необработанное исключение по адресу21.03.2023, 16:46. Показов 6221. Ответов 50
Метки нет (Все метки)
Здравствуйте! Мне нужно сделать следующее: На диалоговой панели расположить временное окно. В центре этого окна нарисовать мишень из 10 полей и в каждом поле вывести его значение (от 1 до 10). Поля выделять различными цветами, выбранными с помощью стандартной диалоговой панели выбора цвета.
Я решил делать так: Создать шаблон диалоговой панели в него встроить дочернее окно(хотя по условию нужно временное, возможно, это ошибка), далее в функции окна рисовать мишень и по клику левой клавиши мыши, если этот клик попадает в одно из полей мишени, должна запуститься стандартная диалоговая панель выбора цвета, в которой я выбираю цвет и этим цветом окрашивается выбранное поле. Но при запуске стандартной диалоговая панель выбора цвета вылетает ошибка, причём ошибка указывает на функцию DialogBoxIndirect(), ошибка такая:
Код: CreateDlg
WndProc,DlgProc
PopProc
0
|
|||||||||||||||||
| 21.03.2023, 16:46 | |
|
Ответы с готовыми решениями:
50
Необработанное исключение по адресу на х86, на х64 работает норм Необработанное исключение и тд Необработанное исключение |
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 22.03.2023, 06:03 | |
|
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||||
| 23.03.2023, 04:58 [ТС] | |||||||
|
Ex6_10.rar При запуске диалогового окна вижу такую картину. Хотя указываю цвета по умолчанию:
0
|
|||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 23.03.2023, 20:59 [ТС] | |
|
Алексей1153, Ну и, теперь что не нравится? Всё, что просили, прикрепил.
0
|
|
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 23.03.2023, 21:02 | |
|
Liss29, сделай ZIP, завтра гляну
Или кто-то уже глянет
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||||||||||||||
| 23.03.2023, 21:22 [ТС] | |||||||||||||||||
0
|
|||||||||||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 23.03.2023, 21:25 [ТС] | |
|
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 23.03.2023, 21:35 [ТС] | |
|
Хотя, если COLOR_WINDOW = 5, то, по сути - это чёрный цвет, если выбрать любое табличное значение цвета COLOR_... и создать с ним кисть, то, получается, цвет этой кисти будет чёрным.
0
|
|
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|
| 23.03.2023, 22:32 [ТС] | |
|
По сути, то, что требовалось я реализовал, но есть одно но, скорее эстетическое замечание, когда цвет выбран и область мишени закрашена выбранным цветом, цифры 8, 9 в их пустых местах цвет остаётся белым, хотя режим фона установлен как TRANSPARENT, как сделать так, чтобы отверстия-пустые места были того же цвета т.е. цвета, которым закрашена данная область мишени.
0
|
|
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||
| 24.03.2023, 08:38 | ||
|
Добавлено через 13 минут SetBkMode(hdc, TRANSPARENT); - это работает, просто ты после вывода текста заливаешь область ExtFloodFill , вот и остаются карманы. Текст надо выводить поверх всегои ещё момент - чтобы не ковыряться с восстановлением старых объектов SelectObject(hdc, hOldBrush);, используй SaveDC / RestoreDC
1
|
||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||||||
| 24.03.2023, 21:34 [ТС] | ||||||||
0
|
||||||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||||||||
| 24.03.2023, 21:49 | ||||||||
полагаю, SaveDc/RestoreDC в данном случае можно даже за цикл вынести (лямбду тоже). Но это нужно уточнить ![]() Добавлено через 2 минуты лямбду я добавил для гарантии вызова RestoreDC
0
|
||||||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||
| 24.03.2023, 22:20 [ТС] | ||||
![]()
0
|
||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|||
| 24.03.2023, 22:23 | |||
|
Liss29, CreateSolidBrush принимает аргументом тип COLORREF, а не индекс системного цвета
![]()
0
|
|||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
||||
| 24.03.2023, 22:30 [ТС] | ||||
|
Думаю, я понял SaveDC() перед изменением контекста устройства, а восстанавливаем, после всех манипуляций с контекстом устройства, только, особой выгоды не вижу, ну одна переменная устраняется, я про свой случай, ну хорошо четыре локальные переменные устраняются, разве это так ощутимо...
Добавлено через 6 минут ![]()
0
|
||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||||
| 24.03.2023, 22:35 | ||||
|
Добавлено через 30 секунд Моё дело - предупредить, а там решай сам
0
|
||||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||||||||
| 24.03.2023, 23:18 [ТС] | |||||||||||
|
Добавлено через 19 минут
0
|
|||||||||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||||||||||||||||
| 25.03.2023, 08:39 | ||||||||||||||||
|
1) в строке 23 убрать SaveDC. 2) в строке 51 вызвать RestoreDC с индексом, который был получен из SaveDC в строке 7
ну, или, да
0
|
||||||||||||||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
||
| 25.03.2023, 08:46 | ||
|
0
|
||
|
225 / 39 / 4
Регистрация: 18.11.2012
Сообщений: 1,633
|
|||||
| 25.03.2023, 21:23 [ТС] | |||||
![]() Добавлено через 1 минуту
0
|
|||||
|
фрилансер
6495 / 5724 / 1133
Регистрация: 11.10.2019
Сообщений: 15,286
|
|
| 25.03.2023, 22:12 | |
|
0
|
|
| 25.03.2023, 22:12 | |
|
Необработанное исключение Необработанное исключение Необработанное исключение: Нарушение прав доступа при чтении Необработанное исключение. Нарушение прав доступа при чтении
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|