Prajyoth Ответов: 1

Проблема со свойством transparent статического текстового элемента управления в диалоговом окне MFC


У меня есть диалог с 2 статическими элементами управления. В этом случае один статический текст имеет прозрачный фон, а другой-нет в том же диалоге.
Никакого специального набора свойств ни для одного из них.
почему такое поведение ?

И я хотел бы знать, что мы можем достичь прозрачности для любого статического текстового элемента управления любым способом, кроме переопределения WM_CTLCLR (onctlclr () функциональность) или WM_ERASEBKGND (onEraseBkgnd () функциональность), просто изменив rc-файл или изменив свойство элемента управления или что-то в этом роде??

Заранее спасибо :)

Что я уже пробовал:

1) анализ файлов ресурсов и rc-скриптов не очень помог.
2) это будет работать, если мы переопределим сообщения WM_CTLCLR или EM_ERASEBKGND, но я хочу знать, почему это происходит именно так.
3) следующая ссылка дает небольшое представление о том, почему проблема прозрачности возникает со статическим текстом в диалоге "https://blogs.msdn.microsoft.com/oldnewthing/20111028-00/?p=9243",
но это не объясняет, почему несколько статических текстовых элементов управления являются прозрачными, а другие-нет.

Jochen Arndt

Приведенная ссылка объясняет, что статические элементы управления не поддерживают прозрачный фон, и вы должны создать производный класс, чтобы реализовать его, переопределяя соответствующие функции.

Так что весьма маловероятно, что у вас есть прозрачный контроль. Цвет фона по умолчанию для диалоговых окон и статических элементов управления один и тот же. Таким образом, статический элемент управления кажется прозрачным, если под ним нет других элементов управления и цвет фона диалога не изменился.

Prajyoth

Спасибо Йохен

1 Ответов

Рейтинг:
11

KarstenK

Проверьте свойства в Редакторе ресурсов - может быть, они отличаются какими-то деталями.

Другая распространенная причина:
* что они не одного типа или класса
* идентификатор ресурса не совпадает с идентификатором обработчика сообщений.

Статья Прозрачный Статический Текст В Диалогах это должно дать вам некоторые идеи и пример кода для вашей проблемы.