PB中设置窗口风格的API
直接主题:
下面的方法可以设置各种窗口的属性,包括大小,最大化,最小化,
response风格的窗口一样可以设置
注:窗口的controlmenu=false //必须的,否则不生效
API声明:
Function long SetWindowLongA(ulong hWnd, int nIndex, long dwNewLong) library "user32"
Function long GetWindowLongA(ulong hWnd, int nIndex) library "user32"
常数:
Constant Long GWL_STYLE = -16 //窗口样式
Constant Long WS_SYSMENU = 524288 //带系统菜单的窗口constant long WS_THICKFRAME=262144 //窗口可以改变大小
Constant Long WS_MINIMIZEBOX = 131072 //创建一个有最小化按扭的窗体。
Constant Long WS_MAXIMIZEBOX = 65536 //创建一个有最大化按扭的窗体。
OPEN事件:
this.controlmenu=false 窗口的这个属性一定要设置
Long lStyle
lStyle = GetWindowLonga( Handle(This), -16) //获取原风格
lStyle+=WS_SYSMENU //控制菜单
lStyle+=WS_MAXIMIZEBOX //最大化按钮
lStyle+=WS_MINIMIZEBOX //最小化按钮
lStyle+=WS_THICKFRAME //改变大小
SetWindowLonga( Handle(This), -16, lStyle ) //设置新的风格
//窗口大小会有所改变,所以重新resize
resize(workspacewidth(),workspaceheight())