белое поле вокруг checkbox

Тема в разделе "WASM.BEGINNERS", создана пользователем zxcc, 15 мар 2007.

  1. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Попробуй
    SetClassLong, [h_chbox], GCL_HBRBACKGROUND, 0
    Только сначала узнай хендл контрола [h_chbox]
     
  2. Zhelezovsky

    Zhelezovsky Member

    Публикаций:
    0
    Регистрация:
    24 окт 2006
    Сообщения:
    39
    Прочти тему "Изменить цвет кнопок", созданную Sturgeon'ом.
     
  3. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    Тоже пока не получается
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Что вы все к стилям привязались?! Тут либо WM_CTLCOLORBTN обрабатывается не так как нужно, либо диалог считает, что его фон - белый. В любом случае ошибку нужно искать в обработчике сообщений окна, на котором находится чекбокс.
     
  5. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    А может там вообще нужно просто перерисовать окно, какой нибудь UpdateWindow или InvalidateRect надо вставить
     
  6. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Quantum
    В обычном окне установка фоновой кисти HBRBACKGROUND = хендл прозрачной кисти или ноль. делает фон прозрачным независимо от обработки сообщений.
     
  7. mix_mix

    mix_mix Михаил

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    277
    Адрес:
    Токио
    Комилятор какой? Если фасм, и тип программы "format PE GUI" могут быть как раз некоторые казусы.
    Надобно "format PE GUI 4.0"
     
  8. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Y_Mur
    Чекбокс использует для отрисовки фона кисть, кототрую возвращает обработчик WM_CTLCOLORBTN.
     
  9. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Всё-таки хотелось бы посмотреть скриншот такого чекбокса.
     
  10. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    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 ....
     
  11. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Почемуто эта кнопка(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 становится чёрной :dntknw:. как сделать её фон прозрачным?
     
  12. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    2FED
    В аттаче фон checkbox'а прозрачный.
     
  13. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    ну так у меня в коде всё тоже самое, только у меня не диалог.

    Есть примерчик для НЕ диалога и желательно на ассемблере :)?
     
  14. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    2FED
    примерчик для НЕ диалога и желательно на ассемблере
    см. аттач.
     
  15. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    q_q блин пол часа сидел втыкал почему в примере всё работает а у меня нет, и понял что это с манифестом XP ничо не работает. Без манифеста никак,eсть ли выход?