SetWindowRegion
Синтаксис
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