Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Овальные кнопки


Автор: WM_SASHA 12.4.2007, 05:44
привет всем )))как создать кнопку произвольной формы?кажись нужно создавать регион?есть функция определяющая принадлежит ли точка данному региону?в случае если не попадает в регион то нужно возвращать HTTRANSPARENT?
заранее спасибо)))

Автор: Greeen 12.4.2007, 06:56
Код

HWND hButton = ... // Хэндл твоей кнопки
HRGN hRgn = CreateEllipticRgn(5, 5, 100, 70);
if(hRgn)
     SetWindowRgn(hButton, hRgn, true);

Автор: zkv 12.4.2007, 08:50
Цитата(WM_SASHA @  12.4.2007,  05:44 Найти цитируемый пост)
есть функция определяющая принадлежит ли точка данному региону?

Цитата(MSDN)

PtInRegion
The PtInRegion function determines whether the specified point is inside the specified region. 

BOOL PtInRegion(
  HRGN hrgn,  // handle to region
  int X,      // x-coordinate of point
  int Y       // y-coordinate of point
);


Цитата

в случае если не попадает в регион то нужно возвращать HTTRANSPARENT?

это, по моему, из другой области...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)