AIMP Forum
AIMP for PC => Ошибки и замечания / Bugs => Обработано / Processed => Topic started by: «G-Li†ch» on July 31, 2025, 20:33:25
-
Мало того, что ещё само окно настроек при своём появлении ослепляет своей белой пустотой (проблема винды), так ещё и моргания какие-то при "прогрузке"…
Видео в архиве
-
Интересно, если отключить попиксельную полупрозрачность окон в настройках интерфейса - будет моргать?
-
Эм… она так-то уже отключена была… А вот после ВКЛЮчения — моргать перестаёт :) и даже быстрее открывается! Только окно настроек всё равно сначала с белым фоном…
-
Только окно настроек всё равно сначала с белым фоном…
Это другая ситуация. Скорее всего, здесь уже требуется время для прогрузки всех параметров и стилей окна.
-
Только окно настроек всё равно сначала с белым фоном…
C этим ничего не поделать. Это не белый фон - это дырки на холсте окна, где должны отрисоваться дочерние элементы управления.
-
Если б были дырки, то окно было бы прозрачным :))
Это всё глюки DWM и особенно неотключаемого в 8-ке/бесятке AERO (то-то мне на классической теме в 7-ке такое попадается слишком редко)…
https://stackoverflow.com/questions/69715610/how-to-initialize-the-background-color-of-win32-app-to-something-other-than-whit
-
окно было бы прозрачным
Нет. Вижу, что вы не знакомы, как устроено GUI в Windows.
Это всё глюки DWM и особенно неотключаемого
Все ровно на оборот: если пустить отрисовку окна строго через DWM c полноценной поддержкой альфа-композинга всех дочерних элементов, то этой проблемы не будет. Проблема как раз в старом подходе
-
вы не поняли :) "дырками" (в буквальном смысле этого слова) мне сложно назвать даже "размазывание" промелькнувших/перетянутых поверх окон по такому холсту, когда возникает подобие HOM-эффекта (ой… у AIMP мелькающая обложка как раз не оставляет следов на окне настроек, опять же, где дырки-то?)… я же имею ввиду буквально "дырявый холст", за дырками которого как раз и видно содержимое "дальних" окон / раб.стола) — HOM-эффекта нет (ну или только на каких-то отдельных присутствующих на этом «холсте» элементах…):) — вот такое поведение мне доводилось видеть слишком редко, и, то, скорее всего только на 7-ке (хоть и с отключенным Aero… а может бесятке?), а вот на XP не припомню (видимо тут-то уже "спасибо" DWM?)… // правка: я уже перед самым сном вспоминаю про SDL (1 или 2)…
-
Теперь довелось заметить и моргание (вместо "горения") "белым фоном" окна настроек в момент их открытия уже со включенной полупрозрачностью… ни то, ни сё… видимо, чтоб не раздражало, лучше сделать окно полностью прозрачным перед закрашиванием фона, вклинясь в WM_SHOWWINDOW (как дано в самом первом ответе по той ссылке):
if (!GetLayeredWindowAttributes(hWnd, NULL, NULL, NULL))
{
SetLayeredWindowAttributes(hWnd, 0, 0, LWA_ALPHA);
DefWindowProc(hWnd, WM_ERASEBKGND, (WPARAM)GetDC(hWnd), lParam);
SetLayeredWindowAttributes(hWnd, 0, 255, LWA_ALPHA);
AnimateWindow(hWnd, 200, AW_ACTIVATE|AW_BLEND);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);