Синтаксис

FLOAT SetWindowRegion(STRING WindowName, HANDLE RegionMatrix)

FLOAT SetWindowRegion(HANDLE HSpace, HANDLE RegionMatrix)


Описание

Функция устанавливает регион окна. 

Регион окна позволяет преобразовать обычное прямоугольное окно к виду произвольной геометрической фигуры, задаваемой массивом точек. Например:

               


Параметры

WindowName/HSpace        Имя/дескриптор окна.

RegionMatrix        Дескриптор динамического массива точек, определяющий вид региона. 


Возвращаемое значение

Функция возвращает 1 при успешном выполнении и 0 при возникновении ошибки.


Примечание

Массив RegionMatrix должен состоять только из элементов с типом FLOAT, иметь минимум 6 элементов (то есть 3 точки), число элементов должно быть четным, каждый четный элемент это X-координата точки, а нечетный Y-координата точки. 

Чтобы убрать регион у окна, достаточно в параметр RegionMatrix передать #0.


см. пример WindowRegion в папке Stratum/Projects/Samples



Пример

  //скрываем рамку и заголовок окна

  x:=getsizeframewidthGetSizeFrameWidth ()-getspaceorg2dxGetSpaceOrg2dX (~HSpace);

  y:=gettitleheightGetTitleHeight ()+getsizeframewidth()-getspaceorg2dyGetSpaceOrg2dY (~HSpace);

  width:=getwindowwidthGetWindowWidth (getwindownameGetWindowName (~HSpace))-2*~x

  height:=getwindowheightGetWindowHeight (getwindowname(~HSpace))-getsizeframewidth()-~y

  s:=20

  t:=new()

  r:=vinsertvInsert (~t,"FLOAT"); vsetvSet (~t,vgetcountvGetCount (~t)-1,"FLOAT",~x+~s);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~y);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~x+~width-~s);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~y);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~x+~width);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~y+~s);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~x+~width);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~y+~height);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~x);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~y+~height);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~x);

  r:=vinsert(~t,"FLOAT"); vset(~t,vgetcount(~t)-1,"FLOAT",~y+~s);

  r:=setwindowregion(~HSpace,~t)

  r:=setwindowregion(~HSpace,#0) //убираем регион окна


см. ОкнаWindows

см. Функции работы с окнамиWindows_function 

Created with the Personal Edition of HelpNDoc: Maximize Your Documentation Output with HelpNDoc's Advanced Project Analyzer