如何用vb程式設計使自己的程式視窗顯示在最頂層

2022-03-10 20:18:46 字數 5577 閱讀 9272

1樓:vb妮可

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 sub form_load()setwindowpos me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nomove or swp_nosize

' 將視窗設為總在最前

end sub

2樓:秋也坤和

視窗名稱.show 1

vb如何實現視窗的置頂呢?也就是如何最上層顯示呢?

3樓:匿名使用者

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 form_load()'視窗置頂**

setwindowpos me.hwnd, -1, 0, 0, 0, 0, 2 or 1

end sub

4樓:匿名使用者

呼叫api函式:setwindowpos

第二個引數設定為hwnd_topmost

具體函式及常量資訊在apiviewer裡面找

如何讓自己的vb程式始終置於視窗最前端啊,急求**!

5樓:匿名使用者

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) private sub form_load()

setwindowpos me.hwnd, -1, 0, 0, 0, 0, 3

end sub

vb程式設計 如何讓乙個windows視窗置頂

6樓:

option explicit

private const hwnd_topmost = -1

private const hwnd_bottom = 1

private const hwnd_notopmost = -2

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()

setwindowpos me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_noactivate or swp_showwindow or swp_nosize or swp_nomove'置頂

end sub

private sub command2_click()

setwindowpos me.hwnd, hwnd_notopmost, 0, 0, 0, 0, swp_noactivate or swp_showwindow or swp_nosize or swp_nomove'不置頂

end sub

這個只要獲取他的視窗控制代碼就可以了

whwnd 是 視窗控制代碼

setwindowpos whwnd, hwnd_topmost, 0, 0, 0, 0, swp_noactivate or swp_showwindow or swp_nosize or swp_nomove'置頂

7樓:我tm不管

private declare function findwindow lib "user32" alias "findwindowa" (byval lpclassname as string, byval lpwindowname as string) as long

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

用這兩個api來實現

vb如何讓窗體顯示在最前面

8樓:折柳成萌

引用api函式setwindowpos就可以解決。下面看看**:

將視窗設定最前:call setwindowpos(me.hwnd, hwnd_topmost, 0, 0, 0, 0, flag)取消視窗的最前:

call setwindowpos(me.hwnd, hwnd_notopmost, 0, 0, 0, 0, flag)函式的第乙個引數是根據實際情況改變的,它要求給它傳送乙個視窗的控制代碼,這裡的 me.hwnd 就給函式傳送了當前視窗的控制代碼,也就是將當前視窗前置或取消前置。

如果要前置其他視窗,那麼請向函式傳送其他視窗的控制代碼,這個可以根據:findwindow api函式獲取。

vb程式設計如何讓主視窗永遠放在最前面

9樓:匿名使用者

api函式setwindowpos

'這個函式能為視窗指定乙個新位置和狀態。它也可改變視窗在內部視窗列表中的位置。該函式與deferwindowpos函式相似,只是它的作用是立即表現出來的(在vb裡使用:

針對vb窗體,如它們在win32下遮蔽或最小化,則需重設最頂部狀態。如有必要,請用乙個子類處理模組來重設最頂部狀態)

public 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

'hwnd ----------- long,欲定位的視窗

'hwndinsertafter - long,視窗控制代碼。在視窗列表中,視窗hwnd會置於這個視窗控制代碼的後面。也可能選用下述值之一:

public const hwnd_bottom = 1 '將視窗置於視窗列表底部

public const hwnd_top = 0 '將視窗置於z序列的頂部;z序列代表在分級結構中,視窗針對乙個給定級別的視窗顯示的順序

public const hwnd_topmost = -1 '將視窗置於列表頂部,並位於任何最頂部視窗的前面

public const hwnd_notopmost = -2 '將視窗置於列表頂部,並位於任何最頂部視窗的後面

'x -------------- long,視窗新的x座標。如hwnd是乙個子視窗,則x用父視窗的客戶區座標表示

'y -------------- long,視窗新的y座標。如hwnd是乙個子視窗,則y用父視窗的客戶區座標表示

'cx ------------- long,指定新的視窗寬度

'cy ------------- long,指定新的視窗高度

'wflags --------- long,包含了旗標的乙個整數

強迫一條wm_nccalcsize訊息進入視窗,即使視窗的大小沒有改變

public const swp_drawframe = swp_framechanged '圍繞視窗畫乙個框

隱藏視窗

不啟用視窗

保持當前位置 (x和y設定將被忽略)

視窗不自動重畫

保持當前大小 (cx和cy會被忽略)

保持視窗在列表的當前位置 (hwndinsertafter將被忽略)

顯示視窗

'用法示例 setwindowpos form1.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nomove or swp_nosize

如何用VB呼叫外部程式(非Shell)

定義常量 以後見到 synchronize 就相當於填寫了 h100000 即 phnd openprocess synchronize,0,pid 等於 const synchronize h100000 const infinite hffffffff 引用系統 api openprocess ...

如何用自己的網域名稱建立個人部落格,如何用自己的網域名稱免費建立個人部落格

個人部落格 和一般個人 在製作方法上是基本相同的。原料 工具 1.註冊網域名稱。最好能和部落格有點關聯 2.選擇部落格系統。例如wordpress。4.解析網域名稱到伺服器 5.發布部落格系統到雲主機 以上步驟還是需要一些知識的。步驟方法 一 先去網域名稱註冊商那裡註冊乙個自己喜歡的網域名稱,常用的...

vb 程式設計 如何利用隨機函式產生10到90的奇數組成的

private sub command1 click randomize dim a 14 as integer for i 0 to 14 a i 2 next i label1.caption for i 0 to 14 doa i int rnd 81 10 loop until a i mo...