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