Проблема со свойством 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
Спасибо Йохен