用VB製作軟體,如何讓窗體始終保持在螢幕最前端

2022-03-11 01:43:47 字數 6375 閱讀 5087

1樓:牛人影視

private declare function setwindowpos lib "user32.dll" (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 boolean

private sub form_load()setwindowpos me.hwnd, -1, me.left, me.

end sub

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

end sub

用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

const hwnd_topmost = -1

const swp_showwindow = &h40

private sub form_load()

dim retvalue as long

'將窗體設定為處於所有視窗的頂層,注意在 vb 中執行時,可能不行,但編譯成exe後就可以了

retvalue = setwindowpos(me.hwnd, hwnd_topmost, me.currentx, me.

currenty, 300, 300, swp_showwindow)

end sub

4樓:匿名使用者

你用formcount.showdialog()看看

5樓:匿名使用者

調個api setwindowpos

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

6樓:匿名使用者

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編寫程式時若想讓窗體永遠在螢幕最前面該怎麼做

7樓:du知道君

好霸道啊

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

timer1.interval = 10

timer1.enabled = true

end sub

private sub timer1_timer()

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

end sub

方法雖然很齷齪,但很管用,我在想別的程式如果也象這樣會怎樣

請問在vb中怎樣使一個窗體執行時始終保持在最前?

8樓:匿名使用者

在窗體的檢視下找屬性選項,會彈出一個對話方塊,裡面應該有一個設定窗體為最先執行的窗體,這樣就可以了

9樓:匿名使用者

這個簡單啊,引用api函式setwindowpos就可以解決。下面看看我的**:

private declare function setwindowpos lib "user32.dll" (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

const swp_nomove = &h2

const swp_nosize = &h1

const flag = swp_nomove or swp_nosize

const hwnd_topmost = -1

const hwnd_notopmost = -2

const hwnd_top = 0

const hwnd_bottom = 1

將視窗設定最前: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函式獲取。希望採納意見,謝謝。。。

10樓:匿名使用者

使用api setwindowpos

詳細請看

vb如何將窗體設定在螢幕最前?

11樓:匿名使用者

有一個api函式···**我等會給你···呵呵·· 好了···在下面···

option explicit

'控制工作列的隱藏和顯示的函式。函式的引數分別為 窗體控制代碼 窗體顯示方式 窗體座標 窗體座標 窗體座標 窗體座標 函式工作方式標誌

'用於確定窗體顯示形式的常數為 hwnd_topmst=-1 將窗體保持在最前面 hwnd_notopmost=-2 不將窗體寶石在最前面

'swap_nosize=&h1 窗體裝入時不改變原有尺寸 swap_nomove=&h2 窗體裝入時保持原窗體設計師在螢幕上的位置

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

const hwnd_topmost = -1

const swp_nosize = &h1

const swp_nmove = &h2

private sub form_load()

setwindowpos me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nosize or swp_nmove

'只有swp_nosize的時候大小不變但位置移到了左上角即(0,0)點;只有swp_nmove時位置不變但大小相當於為零;

'這裡的「或」的關係是「邏輯加」,因為0001或0010為0011,1+2=3.這裡不能用and,用and便為兩個都為1才為1,所以結果為0000

end sub

vb窗體總是在最前面的設定

12樓:匿名使用者

使用windows api setwindowpos函式來設定,在form_load中加入,如下示例即可:

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

const hwnd_topmost = -1

const swp_showwindow = &h40

private sub form_load()

dim retvalue as long

retvalue = setwindowpos(me.hwnd, hwnd_topmost, me.currentx,

me.currenty, 300, 300, swp_showwindow)

end sub

這樣窗體就能保持在所有窗體的前面了。

setwindowpos函式的定義和引數:

使用api函式之前必須先在程式中宣告如下:

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

其中各引數的意義如下:

引數 意義

hwnd long 欲定位的視窗

hwndinsertafter long 視窗控制代碼。在視窗列表中,視窗hwnd會置於這個視窗控制代碼的後面

x,y long 視窗新的x,y座標

cx,cy long 指定新的視窗寬度和高度

wflags long 包含了旗標的一個整數,是下列之一

返回值 long 非零表示成功,零表示失敗

下面是部分wflags引數和它們的意義:

引數 意義和使用方法

swp_drawframe 圍繞視窗畫一個框

swp_hidewindow 隱藏視窗

swp_noactivate 不啟用視窗

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

swp_noredraw 視窗不自動重畫

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

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

swp_showwindow 顯示視窗 &h40

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

求用vb語言編寫好的軟體,如何用VB編寫一個簡單的減法程式?

module1 type student name as string age as integer birth as data adress as string end type form1 text1 text2.passwordchar command1 click if text1.text...

如何製作軟體,如何製作遊戲軟體?

學程式設計,當然要想編好程式,一是都讀好的程式,二就是自己多練程式。做遊戲這樣的系統型軟體的話,還要看很多計算機方面的書。包括瞭解硬體,比如顯示卡等。專業要看你對遊戲的哪個部分感興趣了,程式設計當然是計算機軟體了,當然還有美工方面的,做好軟體不是一個人做出來的,是一個團隊。需要程式設計軟體,最簡單的...

用vb怎麼編簡單的打字軟體,用vb怎麼編一個簡單的打字軟體,

最簡單的,做個文字框,所有功能都是文字框提供的啊,預設就行除了把文字框設定為 multiline 設定為 true 有text1,text2和label1 text1拿來顯示文章,text2打字,label1顯示正確率dim i,p as integer private sub text1 chan...