永发信息网

VB如何让窗体总是最前,要盖过任务栏

答案:4  悬赏:0  手机版
解决时间 2021-04-24 13:59
  • 提问者网友:半生酒醒
  • 2021-04-23 16:08

在VB中让FORM1总在最前,我试过别人的代码,刚开始是总前,可是点一下任务栏,任务栏就出来了,窗体被盖住了,我的窗体是从右下角上来的,会被任务栏给盖了,请教高手了

最佳答案
  • 五星知识达人网友:夜余生
  • 2021-04-23 17:16

你 可以 将 任务栏上


的 这个 选项去掉 ..


全部回答
  • 1楼网友:拾荒鲤
  • 2021-04-23 20:40

一个timer1,一个按钮

代码:

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Sub Command1_Click() Timer1.Enabled = False SetWindowPos Form1.hwnd, -2, 0, 0, 0, 0, 3 '取消窗口置顶 End Sub

Private Sub Form_Load() Timer1.Interval = 50 Timer1.Enabled = True End Sub

Private Sub Timer1_Timer() SetWindowPos Form1.hwnd, -1, 0, 0, 0, 0, 3 '窗口置顶 End Sub

还有一个方法就是置顶后 不响应键盘就可以了

  • 2楼网友:洒脱疯子
  • 2021-04-23 19:18

让窗口一直在前

置顶就行了

用到了一个API 就是SetWindowPos 用法很简单 也很常用

相信你能看懂源码 不多说了

Option Explicit Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Const HWND_TOPMOST& = -1 ' 将窗口置于顶部,并位于任何窗口的前面 Private Const SWP_NOSIZE& = &H1 ' 保持窗口大小 Private Const SWP_NOMOVE& = &H2 ' 保持窗口位置 Private Sub Form_Load() SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE ' 将窗口设为总在最前 End Sub

  • 3楼网友:轮獄道
  • 2021-04-23 18:37
把任务栏,开始全屏蔽掉!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯