Что вы все к стилям привязались?! Тут либо WM_CTLCOLORBTN обрабатывается не так как нужно, либо диалог считает, что его фон - белый. В любом случае ошибку нужно искать в обработчике сообщений окна, на котором находится чекбокс.
А может там вообще нужно просто перерисовать окно, какой нибудь UpdateWindow или InvalidateRect надо вставить
Quantum В обычном окне установка фоновой кисти HBRBACKGROUND = хендл прозрачной кисти или ноль. делает фон прозрачным независимо от обработки сообщений.
Комилятор какой? Если фасм, и тип программы "format PE GUI" могут быть как раз некоторые казусы. Надобно "format PE GUI 4.0"
RamMerLabs Вот, такая же проблемма, всё перепробовал что в теме написано нипомогло. invoke CreateWindowEx,WS_EX_TRANSPARENT,addr cbut,$CTA0('Check Box'), \ WS_CHILD or BS_AUTOCHECKBOX or WS_VISIBLE, \ 190,390,65,24,hWnd,506,hInstance,0 invoke SetClassLong, eax, GCL_HBRBACKGROUND, 0 .... .elseif uMsg == WM_CTLCOLORBTN invoke SetBkMode, wParam, TRANSPARENT invoke SetTextColor, wParam, 685758h invoke GetStockObject, HOLLOW_BRUSH .elseif ....
Почемуто эта кнопка(CheckBox) не реагирует на WM_CTLCOLORBTN, а перерисовывается в соответствие с WM_CTLCOLORSTATIC .elseif uMsg == WM_CTLCOLORSTATIC invoke SetBkMode, wParam, TRANSPARENT invoke SetTextColor, wParam, 685758h invoke GetStockObject, NULL_BRUSH jmp exit Статики рисуются отлично, с прозрачным фоном, а вот кнопка после возврата NULL_BRUSH становится чёрной . как сделать её фон прозрачным?
ну так у меня в коде всё тоже самое, только у меня не диалог. Есть примерчик для НЕ диалога и желательно на ассемблере ?
q_q блин пол часа сидел втыкал почему в примере всё работает а у меня нет, и понял что это с манифестом XP ничо не работает. Без манифеста никак,eсть ли выход?