Кнопки нестандартной формы

Тема в разделе "WASM.WIN32", создана пользователем alexbp, 22 янв 2006.

  1. alexbp

    alexbp New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2005
    Сообщения:
    8
    Пробую сделать кнопку нестандартной формы из загруженного изображения, задаю регион при помощи SetWindowRgn. Регион действия кнопки работает верно, но сама кнопка отображается не так как хотелось бы. А хотелось бы чтобы отображался активный регион не правильной формы, без цвета hbrBackground кнопки в местах где по сути вообще должна быть прозрачность.

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

    Может SetWindowRgn не работает с дочерними окнами, во всяком случае в MSDN ничего по этому не написано.

    Или я туплю.

    Если кто то сталкивался с данной проблемой помогите пожалуйста найти выход. Не хотелось бы делать окошки ограничиваясь только стандартными формами винды.
     
  2. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    в masm'e есть пример на эту тему
     
  3. alexbp

    alexbp New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2005
    Сообщения:
    8
    Нет там ничего похожего...
     
  4. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    см. исходники XXMenu из состава XXControls
     
  5. Mad__C

    Mad__C New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2004
    Сообщения:
    13
    Смотри исходник, правда очень старый и кривой, но работает - проверил.

    Да, бмп для нажатой и отпущеной кнопки в ресурсах.



    []
     
  6. VikVikVik

    VikVikVik New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2006
    Сообщения:
    8
    где взять этот win32.inc???
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    вместо win32.inc укажи

    Windows.inc

    kernel32.inc

    shell32.inc

    user32.inc

    gdi32.inc

    и соответствующие либы
     
  8. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    alexbp



    Возможно, поможет стиль WS_CLIPCHILDREN, но его нужно присвоить родительскому окну, в котором кнопка.





    Работает с любыми окнами.