這篇文章介紹了VB.NET設(shè)置屏幕分辨率、顏色位數(shù)、刷新率
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南海企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作,南海網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
實(shí)例代碼,有需要的朋友可以參考一下
復(fù)制代碼
代碼如下:
Private
Declare
Function
GetDeviceCaps
Lib
"gdi32"
(ByVal
hdc
As
Long,
ByVal
nIndex
As
Long)
As
Long
Private
Declare
Function
ChangeDisplaySettings
Lib
"user32"
Alias
"ChangeDisplaySettingsA"
(lpDevMode
As
Any,
ByVal
dwflags
As
Long)
As
Long
Private
Const
CCDEVICENAME
As
Long
=
32
Private
Const
CCFORMNAME
As
Long
=
32
Private
Const
DM_BITSPERPEL
As
Long
=
H40000
Private
Const
DM_PELSWIDTH
As
Long
=
H80000
Private
Const
DM_PELSHEIGHT
As
Long
=
H100000
Private
Const
DM_DISPLAYFLAGS
As
Long
=
H200000
Private
Const
DM_DISPLAYFREQUENCY
=
H400000
Private
Const
CDS_FORCE
As
Long
=
H80000000
Private
Const
BITSPIXEL
As
Long
=
12
Private
Const
HORZRES
As
Long
=
8
Private
Const
VERTRES
As
Long
=
10
Private
Const
VREFRESH
=
116
Private
Type
DEVMODE
dmDeviceName
As
String
*
CCDEVICENAME
dmSpecVersion
As
Integer
dmDriverVersion
As
Integer
dmSize
As
Integer
dmDriverExtra
As
Integer
dmFields
As
Long
dmOrientation
As
Integer
dmPaperSize
As
Integer
dmPaperLength
As
Integer
dmPaperWidth
As
Integer
dmScale
As
Integer
dmCopies
As
Integer
dmDefaultSource
As
Integer
dmPrintQuality
As
Integer
dmColor
As
Integer
dmDuplex
As
Integer
dmYResolution
As
Integer
dmTTOption
As
Integer
dmCollate
As
Integer
dmFormName
As
String
*
CCFORMNAME
dmUnusedPadding
As
Integer
dmBitsPerPel
As
Integer
dmPelsWidth
As
Long
dmPelsHeight
As
Long
dmDisplayFlags
As
Long
dmDisplayFrequency
As
Long
End
Type
Private
Sub
cmdChangeDesktopMode_Click()
Dim
DM
As
DEVMODE
With
DM
.dmPelsWidth
=
CInt(txtNewWidth.Text)
.dmPelsHeight
=
CInt(txtNewHeight.Text)
.dmBitsPerPel
=
CInt(txtNewColor.Text)
.dmDisplayFrequency
=
CInt(txtNewFreq.Text)
.dmFields
=
DM_PELSWIDTH
Or
DM_PELSHEIGHT
Or
DM_BITSPERPEL
Or
DM_DISPLAYFREQUENCY
.dmSize
=
LenB(DM)
End
With
If
ChangeDisplaySettings(DM,
CDS_FORCE)
Then
MsgBox
"錯(cuò)誤!不支持此模式!"
End
If
End
Sub
Private
Sub
Form_Load()
txtOldWidth.Text
=
GetDeviceCaps(Me.hdc,
HORZRES)
txtOldHeight.Text
=
GetDeviceCaps(Me.hdc,
VERTRES)
txtOldColor.Text
=
GetDeviceCaps(Me.hdc,
BITSPIXEL)
txtOldFreq.Text
=
GetDeviceCaps(Me.hdc,
VREFRESH)
End
Sub
保存前加一句 myImage2.SetResolution(300, 300) 你設(shè)置的bMape不是保存的主畫布 所以無效,設(shè)置分辨率就是 SetResolution(X,Y)
Public?Class?Form1
Dim 初始化控件自動(dòng)大小調(diào)整與窗口的寬度比例 As Integer
Dim 初始化控件自動(dòng)大小調(diào)整與窗口的高度比例 As Integer
Private?Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
初始化控件自動(dòng)大小調(diào)整與窗口的寬度比例 = Me.Width / 控件自動(dòng)大小調(diào)整.Width
初始化控件自動(dòng)大小調(diào)整與窗口的高度比例 = Me.Height / 控件自動(dòng)大小調(diào)整.Height
顯示控件的位置坐標(biāo)()
End?Sub
Private?Sub Form1_ResizeEnd(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ResizeEnd
' Form1_ResizeEnd? 這個(gè)事件是 窗口大小變化完成后 再進(jìn)行操作的
控件自動(dòng)大小調(diào)整.Location = New Point(控件自動(dòng)大小調(diào)整.Left, 控件自動(dòng)大小調(diào)整.Top)
'設(shè)置控件的初始左位置坐標(biāo)? 與? 上位置坐標(biāo)
控件自動(dòng)大小調(diào)整.Size = New Point(Int(Me.Width / 初始化控件自動(dòng)大小調(diào)整與窗口的寬度比例), Int(Me.Height / 初始化控件自動(dòng)大小調(diào)整與窗口的高度比例))
'更改控件的大小? 按第一次窗口的比例 進(jìn)行調(diào)整
顯示控件的位置坐標(biāo)()
End Sub
Private?Sub 顯示控件的位置坐標(biāo)()
Label1.Text = "控件的上邊距坐標(biāo): " 控件自動(dòng)大小調(diào)整.Top
Label2.Text = "控件的左邊距坐標(biāo): " 控件自動(dòng)大小調(diào)整.Left
Label3.Text = "控件的寬度大?。?" 控件自動(dòng)大小調(diào)整.Width
Label4.Text = "控件的高度大小: " 控件自動(dòng)大小調(diào)整.Height
End Sub
End?Class