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
//open事件
SetWindowLong(handle(this),-16,GetWindowLong(handle(this),-16)+12582912 )
=======================================================================
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) //隐藏任务栏