vb 窗體最大化,VB 窗體最大化

2022-03-12 16:08:15 字數 6327 閱讀 5106

1樓:玫瑰為你盛開

vb程式執行時,把視窗最大化後,視窗是不能被調整大小的(最小化除外),在程式中也不行。

設計時,可以正常視窗呈現,並遮蔽窗體的最大化按鈕,自己做個替代的「最大化」按鈕,實現窗體放大。當點選「最大化」時,觸發form的resize事件,在form的resize事件中,寫入:

private sub form_resize()

form1.left = 0

form1.top = 0

form1.width = screen.width

form1.height = screen.height - gettaskbarheight

end sub

(當程式啟動時,也會同時觸發form_resize的)

其中,gettaskbarheight的獲取要寫進模組檔案中:

public declare function systemparametersinfo lib "user32" alias "systemparametersinfoa" (byval uaction as long, byval uparam as long, byref lpvparam as any, byval fuwinini as long) as long

public const spi_getworkarea = 48

public type rect

left as long

top as long

right as long

bottom as long

end type

public function gettaskbarheight() as integer

dim lres as long

dim rectval as rect

lres = systemparametersinfo(spi_getworkarea, 0, rectval, 0)

gettaskbarheight = ((screen.height / screen.twipsperpixelx) -rectval.

bottom) * screen.twipsperpixelx

end function

但是,這樣做還要考慮到有些人把工作列移到其他地方的,比如左側,右側,甚至隱藏,所以,也是很麻煩的哦

2樓:匿名使用者

用api獲取當前視窗的解析度,自動調整窗體。

3樓:

有三種方法可行:

1、將工作列設定為自動隱藏;

2、將窗體大小調整為適應大小,當然要考慮工作列的大小;

3、將螢幕解析度調大,這樣你的窗體最大化不會被遮住。

獲取螢幕寬度和高度:

form1.width = screen.widthform1.height = screen.height

4樓:

'如下**,不論工作列在何處,也不管高度和寬度,只要單擊窗體,都能達到你想要的效果。

private declare function systemparametersinfo lib "user32" alias "systemparametersinfoa" (byval uaction as long, byval uparam as long, byref lpvparam as any, byval fuwinini as long) as long

const spi_getworkarea = 48

private type rect

left as long

top as long

width as long 'right

height as long 'bottom

end type

private sub form_click()

dim nrect as rect

call screenworkarea(nrect)

me.windowstate = 0

me.move nrect.left, nrect.top, nrect.width, nrect.height

end sub

private sub screenworkarea(nrect as rect)

dim dl as long

dl = systemparametersinfo(spi_getworkarea, 0, nrect, 0)

'工作區:除開工作列外的區域

nrect.width = (nrect.width - nrect.left) * screen.twipsperpixelx '工作區寬度

nrect.height = (nrect.height - nrect.top) * screen.twipsperpixely '工作區高度

nrect.left = nrect.left * screen.twipsperpixelx

nrect.top = nrect.top * screen.twipsperpixely

end sub

vb中如何是窗體一執行就是最大化視窗

5樓:

寒樓上的,api都出來了。

只要設定窗體的windowstate屬性就可以了。

將windowstate設定為 2最大化就可以了。

6樓:嚴正平無靜

直接修改窗體屬性。步驟:

1、單擊選中窗體;

2、找到屬性視窗,下拉到最大視窗和最小視窗,選擇false;

3、將視窗調到最大。

7樓:匿名使用者

用vbapi吧,

showwindow

vb宣告

declare function showwindow lib "user32" alias "showwindow" (byval hwnd as long, byval ncmdshow as long) as long

說明 控制視窗的可見性(在vb裡使用:針對vb窗體及控制元件,請使用對應的vb屬性)

返回值long,如視窗之前是可見的,則返回true(非零),否則返回false(零)

參數列引數 型別及說明

hwnd long,視窗控制代碼,要向這個視窗應用由ncmdshow指定的命令

ncmdshow long,為視窗指定可視性方面的一個命令。請用下述任何一個常數

sw_hide 隱藏視窗,活動狀態給令一個視窗

sw_minimize 最小化視窗,活動狀態給令一個視窗

sw_restore 用原來的大小和位置顯示一個視窗,同時令其進入活動狀態

sw_show 用當前的大小和位置顯示一個視窗,同時令其進入活動狀態

sw_showmaximized 最大化視窗,並將其啟用

sw_showminimized 最小化視窗,並將其啟用

sw_showminnoactive 最小化一個視窗,同時不改變活動視窗

sw_showna 用當前的大小和位置顯示一個視窗,不改變活動視窗

sw_shownoactivate 用最近的大小和位置顯示一個視窗,同時不改變活動視窗

sw_shownormal 與sw_restore相同

vb的窗體最大化最小化的按鈕怎麼設定

8樓:顧傾城

1、在電腦端開啟vb軟體,連續點選兩次編輯**時,**視窗最大化。

2、在vb程式視窗的介面的右上角,選單欄上出顯示【最小化按鈕、還原按鈕、關閉按鈕】,點此按鈕可對窗體進行最小化、還原、關閉設定。

3、如果點選中間的【還原按鈕】選項按鈕,可以設定為vb的原始介面,則為常規介面。

4、介面恢復為原始介面,視窗即為預設大小,如下圖所示。

5、視窗可以通過拉伸調節其大小,使得**視窗易於編輯和檢視。

9樓:匿名使用者

vb正常的窗體上有最大化和最小化按鈕的。

當需要改變這些設定,可對窗體的borderstyle屬性在屬性視窗進行設定。

borderstyle 屬性

返回或設定物件的邊框樣式。對 form 物件和 textbox 控制元件在執行時是隻讀的。

10樓:匿名使用者

工程屬性裡有這個設定啊,兄弟。

vb 視窗最大化

11樓:

下面的**以記事本為例,你修改一下程序名即可:

option explicit

private declare function showwindow lib "user32" (byval hwnd as long, byval ncmdshow as long) as long

private const sw_hide = 0

private const sw_shownormal = 1

private const sw_showminimized = 2

private const sw_showmaximized = 3

private declare function getwindowthreadprocessid lib "user32" (byval hwnd as long, lpdwprocessid as long) as long

private declare function getparent lib "user32" (byval hwnd as long) as long

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

private declare function getwindow lib "user32" (byval hwnd as long, byval wcmd as long) as long

const gw_hwndnext = 2

' 通過程序id獲得該程序的視窗控制代碼

public function instancetownd(byval target_pid as long) as long

dim test_hwnd as long

dim test_pid as long

dim test_thread_id as long

instancetownd = 0

'on error resume next

' 獲得首個handle.

test_hwnd = findwindow(byval 0&, byval 0&)

' 迴圈查詢直到找到為給定程序id的視窗控制代碼

do while test_hwnd <> 0

'檢查視窗控制代碼是否為頂級視窗

if getparent(test_hwnd) = 0 then

' 是頂級視窗

' 取該視窗所屬的程序id

test_thread_id = getwindowthreadprocessid(test_hwnd, test_pid)

if test_pid = target_pid then

' 是我們指定程序的視窗,則將該視窗的控制代碼返回到函式名,並退出

instancetownd = test_hwnd

exit do

end if

end if

' 取下一個視窗的控制代碼

test_hwnd = getwindow(test_hwnd, gw_hwndnext)

loop

end function

private sub command1_click()

dim winwnd as long, pid as long, pro, obj

set pro = getobject("winmgmts:\\.\root\cimv2").execquery("select * from win32_process")

for each obj in pro

debug.print obj.name

if obj.name = "notepad.exe" then

pid = obj.processid

exit for

end if

next

winwnd = instancetownd(pid)

'    winwnd = findwindow(vbnullstring, "無標題 - 記事本")

if winwnd <> 0 then

showwindow winwnd, sw_showmaximized

end if

end sub

如何理解利潤最大化的原則,簡述利潤最大化原則並解釋含義?

我們經常講,企業生產經營的目標是利潤最大化。但什麼是利潤最大呢?從企業的角度來說,利潤當然是越多越好。如果我們這樣理解利潤最大化,利潤最大化就沒有意義了。在現實中,無限利潤也是不可能的。因此,必須找到一個利潤最大化的標準,說明在什麼時候,企業就實現了利潤最大化。利潤是總收益減去包括會計成本和機會成本...

魔獸世界戰士55如何最大化DPS

在地圖比較寬廣上,我建議先衝鋒佔據主動權,地圖小就別了,去死角麻煩了。衝鋒後,第一技能一般是血腥狂暴。馬上斷j。致死,撕裂,致死不能停。一聽的話,馬上就會被刷滿,如果你隊伍中有dz的話。那你的致死可以慢點,可以先撕裂在致死。你的攔截技能用在轉集火目標的時候,一般情況下,我們隊伍轉目標的時候,我就直接...

奇蹟聖導師加點分析如何使攻擊最大化

你的配點以是1萬點以上的吧,pk也要有體力,一般私服聖導的統率都是內9999,所以,力量為主要攻擊 容力,但是加智力是為了黑馬的攻擊,看你要玩血統還是智統了,一般都是力量為主 奇蹟mu 是由韓國網禪webzen開發的一款mmorpg網路遊戲,於2002年在中國大陸正式上線運營。2001年 奇蹟mu ...