необычные формы окон (и не только окон)

Тема в разделе "WASM.BEGINNERS", создана пользователем Lord_Dred, 18 июн 2005.

  1. Lord_Dred

    Lord_Dred New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2005
    Сообщения:
    7
    Адрес:
    от Верблюда
    Господа, ни кто не поделиться исходничком с неправильной формой окна(круглой, овальной, в виде рамки вокруг рисунка или еще какой нить).



    Заранее очень благодарен.

    _______________________________

    ...я еще ничего сам не писал...

    ...тока учусь, plz не пинать...
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Lord_Dred

    masm32\examples\EXAMPLE8\MOB\CWS
     
  3. Lord_Dred

    Lord_Dred New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2005
    Сообщения:
    7
    Адрес:
    от Верблюда
    пасибо!
     
  4. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    например, есть очень хороший способ через программу rgnerator (создание региона любой формы, а потом создание окна точно такой же формы, получившийся регион можно воткнуть в секцию ресурсов и загружать через SetWindowRegion, регион определяется в rngerator'e через однотонный цвет)
     
  5. BORYAK

    BORYAK Боран

    Публикаций:
    0
    Регистрация:
    22 апр 2005
    Сообщения:
    33
    Адрес:
    Kazakhstan
    В masm32\examples\EXAMPLE8\MOB\CWS есть файл ресурса cws.rgn

    Вопрос каков ваще формат файла? Я понял, что подгружается рисунок, туды налаживается трансформация что ли, вощем не понял формат этого файла.
     
  6. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Формат - структура RGNDATA. См. MSDN.
     
  7. BORYAK

    BORYAK Боран

    Публикаций:
    0
    Регистрация:
    22 апр 2005
    Сообщения:
    33
    Адрес:
    Kazakhstan
    Код (Text):
    1. typedef struct _RGNDATA {
    2.     RGNDATAHEADER rdh;
    3.     char          Buffer[1];
    4. } RGNDATA, *PRGNDATA;
    5.  

    Код (Text):
    1. typedef struct _RGNDATAHEADER {
    2.     DWORD dwSize;
    3.     DWORD iType;
    4.     DWORD nCount;
    5.     DWORD nRgnSize;
    6.     RECT  rcBound;
    7. } RGNDATAHEADER, *PRGNDATAHEADER;
    8.  


    Спасибо, Quantum, но это мне ничего не говорит
     
  8. BORYAK

    BORYAK Боран

    Публикаций:
    0
    Регистрация:
    22 апр 2005
    Сообщения:
    33
    Адрес:
    Kazakhstan
    Ххм..забыл.

    С НОвым ГОдом, ВОины ДЗена!!!!!!!!
     
  9. Quantum

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

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


    Вы хотите создать свой файл *.rgn? Если так сложно разобраться с полями этой структуры, воспользуйтесь API-функциями (CreateRectRgn, CreateEllipticRgn, CombineRgn и т.д.) для создания произвольного региона, потом GetRegionData заполнит структуру RGNDATA за вас и вы сможете её сохранить в файл тоже через API (CreateFile, WriteFile).
     
  10. BORYAK

    BORYAK Боран

    Публикаций:
    0
    Регистрация:
    22 апр 2005
    Сообщения:
    33
    Адрес:
    Kazakhstan
    Спасибо большое, Quantum