永发信息网

怎样在pb里实现无标题栏

答案:1  悬赏:80  手机版
解决时间 2021-04-03 04:09
  • 提问者网友:献世佛
  • 2021-04-02 16:33
怎样在pb里实现无标题栏
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-04-02 18:00
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) //隐藏任务栏
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯