怎样在pb里实现无标题栏

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)   //隐藏任务栏 

 

原址:http://yisean.iteye.com/blog/709201

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值