Hi,
i am nasima. I have got a code for setting the screen resolution of my page, but i am unable to understand. Can any one give a complete data explanation of the below code. -
Sub ChangeRes(X As Long, Y As Long, Bits As Long)
-
Dim DevM As DEVMODE, ScInfo As Long, erg As Long, an As VbMsgBoxResult
-
'Get the info into DevM
-
erg = EnumDisplaySettings(0&, 0&, DevM)
-
'This is what we're going to change
-
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL
-
DevM.dmPelsWidth = X 'ScreenWidth
-
DevM.dmPelsHeight = Y 'ScreenHeight
-
DevM.dmBitsPerPel = Bits '(can be 8, 16, 24, 32 or even 4)
-
'Now change the display and check if possible
-
erg = ChangeDisplaySettings(DevM, CDS_TEST)
-
'Check if succesfull
-
Select Case erg&
-
Case DISP_CHANGE_RESTART
-
an = MsgBox("You've to reboot", vbYesNo + vbSystemModal, "Info")
-
If an = vbYes Then
-
erg& = ExitWindowsEx(EWX_REBOOT, 0&)
-
End If
-
Case DISP_CHANGE_SUCCESSFUL
-
erg = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
-
ScInfo = Y * 2 ^ 16 + X
-
'Notify all the windows of the screen resolution change
-
SendMessage HWND_BROADCAST, WM_DISPLAYCHANGE, ByVal Bits, ByVal ScInfo
-
MsgBox "Everything's ok", vbOKOnly + vbSystemModal, "It worked!"
-
Case Else
-
MsgBox "Mode not supported", vbOKOnly + vbSystemModal, "Error"
-
End Select
-
End Sub
-
-
Private Sub Command1_Click()
-
Dim sMyData As String
-
Dim iReply As Integer
-
Dim aXY As Variant
-
aXY = Array("", "")
-
sMyData = aPossible(List1.ListIndex + 1)
-
iReply = MsgBox("You have chosen:" + vbCrLf + sMyData, vbCritical + vbOKCancel)
-
If iReply = vbOK Then
-
aXY = Split(sMyData, "x")
-
aXY(0) = CInt(aXY(0))
-
aXY(1) = CInt(aXY(1))
-
' ChangeRes aXY(0), aXY(1), GetDeviceCaps(nDC, BITSPIXEL)
-
End If
-
End Sub
-
-
Private Sub Form_Load()
-
'KPD-Team 1999
-
'URL: http://www.allapi.net/
-
'E-Mail: KPDTeam@Allapi.net
-
Dim nDC As Long
-
Dim sMyString As String
-
Dim bReturn As Boolean
-
Dim bFound As Boolean
-
Dim lX As Long
-
Dim iY As Integer 'resrved for the ordinal ubound of apossible
-
Dim iz As Integer
-
Dim DevM As DEVMODE
-
sMyString = "The current list" + vbCrLf + vbCrLf
-
sMyString = sMyString + "Screen Width:" + Str(Screen.Width) + vbCrLf
-
sMyString = sMyString + "Screen Height:" + Str(Screen.Height) + vbCrLf
-
sMyString = sMyString + "Screen TwipsPerPixelX:" + Str(Screen.TwipsPerPixelX) + vbCrLf
-
sMyString = sMyString + "Screen TwipsPerPixelY:" + Str(Screen.TwipsPerPixelY) + vbCrLf
-
-
'retrieve the screen's resolution
-
OldX = Screen.Width / Screen.TwipsPerPixelX
-
OldY = Screen.Height / Screen.TwipsPerPixelY
-
sMyString = sMyString + "X resolution:" + Str(OldX) + vbCrLf
-
sMyString = sMyString + "Y resolution:" + Str(OldY) + vbCrLf
-
' MsgBox sMyString
-
' Text2.Text = Trim$(Str(OldX))
-
' Text3.Text = Trim$(Str(OldY))
-
ReDim aPossible(1)
-
aPossible(0) = Trim$(Str$(OldX)) + " x " + Trim$(Str$(OldY))
-
Text4.Text = aPossible(0)
-
' MsgBox aPossible(0)
-
sMyString = ""
-
lX = 0
-
iY = 0
-
'Create a device context, compatible with the screen
-
nDC = CreateDC("DISPLAY", vbNullString, vbNullString, ByVal 0&)
-
bReturn = True
-
While bReturn
-
bReturn = EnumDisplaySettings(0&, lX, DevM)
-
If bReturn Then 'ie. a valid entry
-
' sMyString = sMyString + Trim$(Str$(DevM.dmBitsPerPel)) + ":" + Trim$(Str$(DevM.dmPelsWidth)) + ":" + Trim$(Str$(DevM.dmPelsHeight)) + ":" + Str(lX) + vbCrLf
-
sMyString = Trim$(Str$(DevM.dmPelsWidth)) + " x " + Trim$(Str$(DevM.dmPelsHeight))
-
bFound = False
-
For iz = 0 To iY
-
If sMyString = aPossible(iz) Then
-
bFound = True
-
Exit For
-
End If
-
Next
-
If Not bFound Then
-
iY = iY + 1
-
ReDim Preserve aPossible(iY)
-
aPossible(iY) = sMyString
-
End If
-
lX = lX + 1 'Dont forget this
-
End If
-
Wend
-
sMyString = ""
-
For iz = 1 To iY
-
List1.AddItem aPossible(iz)
-
Next
-
' MsgBox sMyString
-
'Change the screen's resolution
-
' ChangeRes 640, 480, GetDeviceCaps(nDC, BITSPIXEL)
-
' Unload Me
-
End Sub
-
1 2488
If you can please confirm that this is VB code, I will move it to the appropriate forum to get your question answered.
Regards,
Jeff
Sign in to post your reply or Sign up for a free account.
Similar topics
by: Dufe |
last post by:
Hello all:
To deal with the problem of differing user screen resolutions, I've
explored: 1) making the pages in PHP, 2) having different pages on the
same page and selecting the proper one via...
|
by: Chris |
last post by:
After exhausting my search on the MS website, I can't find a straight answer.
I fin dit hard to believe that MS left our something so useful in ASP.NET as
screen resolution detection.
Problem:...
|
by: Prophet |
last post by:
when I first started to write my page, I had my settings at 1024 x 768.
I then saw the page on a 800 x 600 computer - wow - what a difference!!!
I then went back and redid my page at 800 x 600....
|
by: Wayne Aprato |
last post by:
How do most Access developers handle the issue of different database
users possibly running different screen resolutions? At the moment, I
design for the worst case scenario ie. 800 x 600 screen...
|
by: Roger Withnell |
last post by:
How to I find out what size text the browser is set to?
Thanks in anticipation.
|
by: Maxi |
last post by:
I have a 30X16 cells table in my html page. Table height and width are
set to 100%. I have set size of every cell inside the table to 24
pixel.
When I open the html page in maximize state in...
|
by: Steve Wright |
last post by:
Hi
I'm developing a webpage that needs to include a different stylesheet
depending on the screen resolution.
I know that I could read the resolution in javascript and then do some
sort of...
|
by: mikek12004 |
last post by:
I want to load a different swf in PHP based on the viewer's screen resolution. All would be fine if I could get the screen resolution in a variable in PHP. Problem is that after I done a bit of a...
|
by: =?Utf-8?B?UmljaA==?= |
last post by:
A lot of users at my workplace use different screen resolutions, and I build
apps to use 1680 x 1050 pixels res by default. But some users are using 800
x 600, and the apps are too large for their...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |