怎样在pb里实现无标题栏
1个回答
推荐于2016-01-03 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
api解决:
SetWindowLong(Handle, // 当前窗体句柄
GWL_STYLE, // 表示当前是要设置新的窗体(普通)样式
// 得到指定窗体信息
GetWindowLong(Handle, GWL_STYLE)
and (not WS_CAPTION)); // 去掉样式(s)中的“标题”样式
具体
FUNCTION long SetWindowLong(ulong hWnd, integer nIndex, ulong dwNewLong) library "user32.dll" ALIAS FOR "SetWindowLongA"
Function long GetWindowLong (Long hwnd,Long nIndex) library "user32" Alias for "GetWindowLongA"
//
//GWL_STYLE=-16
//WS_CAPTION=12582912
SetWindowLong(handle(this),-16,GetWindowLong(handle(this),-16)+12582912 )
上面是声明 下面的代码放在open事件中
=======================================================================
2. 如何使PB窗口总在最上层
通过SetWindowPos函数吧窗口的显示层次修改为HWND_TOPMOST,就可以使指定窗口永远不会被其它窗口覆盖,该函数声明为:
Function Long SetWindowPos(Long hwnd, Long ord, Long x, Long y, Long
dx, Long dy, Long uflag) Library “user32.dll”
参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余
参数指定窗口位置和大小,均可忽略。在窗口的Open或Activate事件中加入如下
函数调用:
SetWindowPos(Handle(This),-1,0,0,0,0,3)
参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,
表示窗口大小保持不变,取2表示保持位置不变,因此,取3(=1+2)表示大小和
位置均保持不变,取0表示将窗口的大小和位置改变为指定值。
3. 显示或隐藏Windows的任务栏
要显示或隐藏任务栏,首先要得到它的窗口句柄。任务栏是一个特殊的窗口,它
的窗口类为:Shell_TrayWnd,没有标题,故只能用FindWindowEx函数来取得它的
句柄:
Function Long FindWindowEx(Long ph, Long ch, ref String cn, ref
String wn) Library “user32.dll”
Function Long ShowWindow(Long hWnd, Long nCmdShow) Library “user32.dll”
用ShowWindow来显示或隐藏窗口,其第二个参数为0表示隐藏,为5表示显示:
handle = FindWindowEx(0,0,” Shell_TrayWnd”,wn) //wn为空串
ShowWindow(handle,0) //隐藏任务栏
SetWindowLong(Handle, // 当前窗体句柄
GWL_STYLE, // 表示当前是要设置新的窗体(普通)样式
// 得到指定窗体信息
GetWindowLong(Handle, GWL_STYLE)
and (not WS_CAPTION)); // 去掉样式(s)中的“标题”样式
具体
FUNCTION long SetWindowLong(ulong hWnd, integer nIndex, ulong dwNewLong) library "user32.dll" ALIAS FOR "SetWindowLongA"
Function long GetWindowLong (Long hwnd,Long nIndex) library "user32" Alias for "GetWindowLongA"
//
//GWL_STYLE=-16
//WS_CAPTION=12582912
SetWindowLong(handle(this),-16,GetWindowLong(handle(this),-16)+12582912 )
上面是声明 下面的代码放在open事件中
=======================================================================
2. 如何使PB窗口总在最上层
通过SetWindowPos函数吧窗口的显示层次修改为HWND_TOPMOST,就可以使指定窗口永远不会被其它窗口覆盖,该函数声明为:
Function Long SetWindowPos(Long hwnd, Long ord, Long x, Long y, Long
dx, Long dy, Long uflag) Library “user32.dll”
参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余
参数指定窗口位置和大小,均可忽略。在窗口的Open或Activate事件中加入如下
函数调用:
SetWindowPos(Handle(This),-1,0,0,0,0,3)
参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,
表示窗口大小保持不变,取2表示保持位置不变,因此,取3(=1+2)表示大小和
位置均保持不变,取0表示将窗口的大小和位置改变为指定值。
3. 显示或隐藏Windows的任务栏
要显示或隐藏任务栏,首先要得到它的窗口句柄。任务栏是一个特殊的窗口,它
的窗口类为:Shell_TrayWnd,没有标题,故只能用FindWindowEx函数来取得它的
句柄:
Function Long FindWindowEx(Long ph, Long ch, ref String cn, ref
String wn) Library “user32.dll”
Function Long ShowWindow(Long hWnd, Long nCmdShow) Library “user32.dll”
用ShowWindow来显示或隐藏窗口,其第二个参数为0表示隐藏,为5表示显示:
handle = FindWindowEx(0,0,” Shell_TrayWnd”,wn) //wn为空串
ShowWindow(handle,0) //隐藏任务栏
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询