尋求程式製作方法,尋求一個程式製作方法

時間 2022-06-02 22:10:02

1樓:匿名使用者

1全部vb的實現方法

我們先來看看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訊息進入視窗,即使視窗的大小沒有改變

函式的使用很簡單,我們只須在form_load中加入如下語句即可:

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

currenty, 300, 300, swp_showwindow)

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

為了學習方便,下面提供了原始碼:

註釋:-------------------------------------------

註釋: 讓一個窗體總是處於最前的例子

註釋:-------------------------------------------

註釋:程式說明:

註釋:本例應用setwindowpos函式,設定窗體的顯示屬性

註釋:來實現讓一個窗體總是處於其他窗體的前面而不會

註釋:被其他窗體所遮住。

註釋:-------------------------------------------

option explicit

註釋:【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

註釋:【說明】

註釋: 這個函式能為視窗指定一個新位置和狀態。它也可改變視窗在內部視窗列表中的位置。

該函式與deferwindowpos函式相似,只是它的作用是立即表現出來的(在vb裡使用:針對vb窗體,如它們在win32下遮蔽或最小化,則需重設最頂部狀態。如有必要,請用一個子類處理模組來重設最頂部狀態

註釋:【返回值】

註釋: long,非零表示成功,零表示失敗。會設定getlasterror

註釋:【備註】

註釋: 視窗成為最頂級視窗後,它下屬的所有視窗也會進入最頂級。一旦將其設為非最頂級,則它的所有下屬和物主視窗也會轉為非最頂級。

z序列用垂直於螢幕的一根假想z軸量化這種從頂部到底部排列的視窗順序

註釋:【參數列】

註釋: hwnd ----------- long,欲定位的視窗

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

註釋: hwnd_bottom 將視窗置於視窗列表底部

註釋: hwnd_top 將視窗置於z序列的頂部;z序列代表在分級結構中,視窗針對一個給定級別的視窗顯示的順序

註釋: hwnd_topmost 將視窗置於列表頂部,並位於任何最頂部視窗的前面 -1

註釋: hwnd_notopmost 將視窗置於列表頂部,並位於任何最頂部視窗的後面 -2

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

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

註釋: cx ------------- long,指定新的視窗寬度

註釋: cy ------------- long,指定新的視窗高度

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

註釋: swp_drawframe 圍繞視窗畫一個框

註釋: swp_hidewindow 隱藏視窗

註釋: swp_noactivate 不啟用視窗 &h10

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

註釋: swp_noredraw 視窗不自動重畫

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

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

註釋: swp_showwindow 顯示視窗 &h40

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

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

2樓:匿名使用者

用什麼語言實現,說清楚點

尋求一個老歌曲,尋求一些老歌

我的是 你發郵件說明,我把你郵箱忘了,不好意思了。恐怖的李小剛啊。紅花紅顏 人 海 茫 茫 天 涯 漫 漫。雄 鷹 展 翅 逍 遙 江 天。江 湖 恩 仇 人 間 情。幹 戈 玉 帛 更 無 緣。風 悽 悽 雨 綿 綿。怨 恨 未 了 情 意 猶 添。親 人 仇 人 紛 紛 別。幾 次 傷 悲 幾 ...

尋求教育10歲女孩子的方法,尋求一個教育10歲女孩子的方法?

說教是最不對症的方式,而且往往是適得其反!要想交流,使你和孩子能夠良好溝通,首先是地位平等,然後是換位思考,最後達到可以互相理解尊重!個性強,證明她喜愛爭強,而愛哭,確是她內心脆弱的表現!十歲孩子需要引導,聰明而不好學,一定和家長有直接關係,平常只關心吃穿,忽視孩子學習,使孩子有心事也無處傾述 另外...

尋求電影的名字,尋求一個電影的名字

假如愛有天意 也叫 不可不信緣 是同一部電影編劇 郭在容 jae young kwak 導演 郭在容 jae young kwak 主演 曹承佑 seung woo cho 孫藝珍 ye jin son 趙寅成 in seong jo 官方 www.classicromance.co.kr製片國家 ...